在索引i的数据框中插入一行

时间:2019-05-27 19:32:41

标签: python pandas dataframe indexing insert

在熊猫问题上,我需要您的帮助:

我目前正在通过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”,但是后来我很难重新索引我的数据框:/

请您帮忙吗? :)

1 个答案:

答案 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