標準的な方法でデータフレームのインデックスを再作成しています。
df.reindex(newIndex,method='ffill')
しかし、欠落しているデータを列ごとに異なる方法で処理する必要があることに気付きました。つまり、一部の列では埋めたいのですが、他の列では欠損値を NA として記録したいのです。
簡単にするために、充填したい列 X と NA を充填したい列 Y があるとします。これを達成するために .reindex を呼び出すにはどうすればよいですか?
最初に、次に列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