我正在以标准方式重新索引数据帧,即
df.reindex(newIndex,method='ffill')
但我意识到我需要逐列地处理丢失的数据。也就是说,对于某些我希望填充的列,但对于其他列,我希望丢失记录为NA的值。
为简单起见,假设我想要填充的X列,以及我希望NA填充的Y列。我如何调用.reindex来完成此任务?
答案 0 :(得分:6)
您可以先reindex()
,然后拨打ffill()
以获取列:
import pandas as pd
df = pd.DataFrame({"A":[10, 20, 30], "B":[100, 200, 300],
"C":[100, 200, 300]}, index=[2, 6, 8])
df2 = df.reindex([2,4,6,8,10])
for col in ["A", "B"]:
df2[col].ffill(inplace=True)
print df2
输出:
A B C
2 10 100 100
4 10 100 NaN
6 20 200 200
8 30 300 300
10 30 300 NaN