2015-05-28 161 views
2

我遇到了处理数据帧的问题。 我想在DF插入行并修改其相关的值:熊猫数据框插入行

,比如我有

 
time value 
0 10:00  2 
1 11:00  4 
2 12:00  6 
3 13:00  8 

和理想的结果应该是:

 
time value 
0 10:00  1 
1 11:00  2 
0 10:00  1 
1 11:00  2 
2 12:00  6 
3 13:00  8 

哪个复制前两行,然后将其值平均分配。

该代码只能附加行,但如何以更快的方式修改其值? df[0:2].append(df[0:2]).append(df[2:])

回答

3
first_two = df[: 2] 
first_two.value = first_two.value/2 

df = pd.concat([first_two, first_two, df[2:]]) 

编辑

Paul H分列如下,它是touse iloc这个东西更好。

+3

更好地在这里使用'.iloc'属性。 IOW:'first_two = df.iloc [:2]' –

+0

谢谢@Paul H - 更新。 –