如何将pandas DataFrame值复制到0以填充0?

时间:2014-01-24 21:58:03

标签: python pandas dataframe

基本上,我如何将DataFrame A转换为DataFrame B?

答:

Index Value
01 42
02 0
03 0
04 57
05 0
... ...

B:

Index Value
01 42
02 42
03 42
04 57
05 57
... ...

1 个答案:

答案 0 :(得分:4)

您需要转换为浮点数(如果有必要,它不适用于整数)才能使用此功能,请参阅replace上的文档,特别是此处使用的方法是ffill,这意味着前进填充:

df = pd.DataFrame({'value':[42,0,0,57,0]})
df
Out[16]:

   value
0     42
1      0
2      0
3     57
4      0

In [17]:
df.value = df.value.astype(float)
df.replace(to_replace=0, method='ffill')
Out[17]:

   value
0     42
1     42
2     42
3     57
4     57

您可以随时转换回来:

df.value = df.value.astype(int)