如何解决基于索引增量 Python Pandas 数据框查找和添加缺失的列值
下午好!
dictionary = {1:5,2:10,4:3,5:2}
df = pd.DataFrame.from_dict(dictionary,orient = 'index',columns = ['count'])
我想要做的是从 df.index.min() 到 df.index.max() 检查索引增量是否为 1。将 3 添加到索引中,计数为 0。
输出将类似于下面的 df2,但以编程方式完成,因此我可以在更大的数据帧上使用它。
结果示例 DF:
dictionary2 = {1:5,3:0,5:2}
df2 = pd.DataFrame.from_dict(dictionary2,columns = ['count'])
非常感谢!!!
解决方法
确保索引已排序:
df = df.sort_index()
创建一个从最小索引到最大索引的数组
complete_array = np.arange(df.index.min(),df.index.max() + 1)
重新索引,用 0 填充空值,并可选择将 dtype 更改为 Pandas Int:
df.reindex(complete_array,fill_value=0).astype("Int16")
count
1 5
2 10
3 0
4 3
5 2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。