python - 如何向下复制 pandas DataFrame 值以填充 0?

标签 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
... ...

最佳答案

您需要转换为 float (如有必要,它不适用于整数)才能工作,请参阅 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)

关于python - 如何向下复制 pandas DataFrame 值以填充 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21343251/

相关文章:

python - 为什么包含无法选择包含指定字符串的行?

r - 重复条目池化,同时对相邻列中的值进行平均

python - 尝试加速统计(scipy)计算失败

python - 如果您分块加载 csv,pandas dropna() 将不起作用

r - 从 R 数据帧中选择时出现不需要的输出(级别)

python - 奇怪的 sdl 对无关窗口的副作用

python - 下载变压器模型以供离线使用

python - 替换文件中字符串对的快速方法

python - 如何在 24 小时内从动态加载的网页中抓取超过 50,000 个数据点?

python - 是否有一个函数可以比较两个 DataFrame 并输出不同的元素?