python - Python Pandas:reindex 属性删除所有以前存在的值
问题描述
在下面df
的pandas 数据帧(order_adj
数据框的列:
order_adj = [30, 182]
ID Date Order Values
16672 22000118 2019-11-06 9 0.320934
16673 22000118 2019-11-06 44 0.213926
16674 22000118 2019-11-06 72 0.178836
16675 22000118 2019-11-06 135 0.182151
16676 22000118 2019-11-06 226 0.162838
我使用以下命令设置数据帧的索引:
df.index = df.Order.values
ID Date Order Values
9 22000118 2019-11-06 9 0.320934
44 22000118 2019-11-06 44 0.213926
72 22000118 2019-11-06 72 0.178836
135 22000118 2019-11-06 135 0.182151
226 22000118 2019-11-06 226 0.162838
但是当我使用df = df.reindex(index = order_adj)
而不是接收时:
ID Date Order Values
9 22000118 2019-11-06 9 0.320934
30 nan nan nan nan
44 22000118 2019-11-06 44 0.213926
72 22000118 2019-11-06 72 0.178836
135 22000118 2019-11-06 135 0.182151
182 nan nan nan nan
226 22000118 2019-11-06 226 0.162838
我收到
ID Date Order Values
30 nan naT nan nan
182 nan naT nan nan
我到底错过了什么?
解决方案
你可以试试:
df=df.reindex([*df.index,*order_adj]).sort_index()
或者
df=df.reindex(df.index.tolist()+order_adj).sort_index()
输出df
:
ID Date Order Values
9 22000118.0 2019-11-06 9.0 0.320934
30 NaN NaN NaN NaN
44 22000118.0 2019-11-06 44.0 0.213926
72 22000118.0 2019-11-06 72.0 0.178836
135 22000118.0 2019-11-06 135.0 0.182151
182 NaN NaN NaN NaN
226 22000118.0 2019-11-06 226.0 0.162838
推荐阅读
- django - 如何通过一个查询Django从两个表中获取数据
- mysql - 与多个过滤器结合使用时,Django order_by('-id') 非常慢
- sql-server - 具有运行价值的股票钱包和重置的平均购买价格
- python - 优化修改列表的循环
- java - 将两个没有值的 json 响应与 Jackson 进行比较
- css - 使用具有不同父级的 SASS 混合的增量转换延迟
- python - Python - 不可靠的 shell 命令执行?运行 ir-ctl 命令时出现问题
- rust - 当它说“允许在没有 RAII 保护对象的情况下进行原始(解锁)锁定”时,parking_lot 文档是什么意思?
- python - 在python Dataframe中附加单词出现的计数
- c++ - C++ 存储和更新已排序项目的有效方法