在熊猫问题上,我需要您的帮助:
我目前正在通过API提取数据,这些API的排名存在差距。
但是我需要通过用平均值替换它们来考虑数据集上的这些。
然后,我需要在数据框中插入一行以填充数据框。
插图:
这是我的问题:
rank timestamp value
0 1 21:50 3450
1 4 21:40 3442
2 5 21:41 5964
3 6 14:27 5258
4 7 13:10 3001
5 8 14:02 2782
排名2和3缺失
所以,这就是我想要得到的:
rank timestamp value
0 1 21:50 3450
1 2 NaN avg
2 3 NaN avg
3 4 21:40 3442
4 5 21:41 5964
5 6 14:27 5258
6 7 13:10 3001
7 8 14:02 2782
我大概知道如何处理列,但是我不知道如何处理行。
你有个主意吗?
我已经尝试过使用“ append”,但是后来我很难重新索引我的数据框:/
请您帮忙吗? :)
答案 0 :(得分:2)
您可以使用reindex添加缺失的排名,并可以使用fillna填充缺失的值。
df = df.set_index('rank').reindex(np.arange(df['rank'].min(), df['rank'].max()+1)).reset_index()
df['value'] = df['value'].fillna(df['value'].mean()).round()
rank timestamp value
0 1 21:50 3450
1 2 NaN 3982
2 3 NaN 3982
3 4 21:40 3442
4 5 21:41 5964
5 6 14:27 5258
6 7 13:10 3001
7 8 14:02 2782