Python 重新索引数据帧
我有这样一个数据帧:Python 重新索引数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有这样一个数据帧: Column A Column B Date Value 1 A 1 2011-01-01 10 2 B 1 2011-01-01 10 3 A 2 2011-01-01 10 4 B 2 2011-01-01 10 5 A
Column A Column B Date Value
1 A 1 2011-01-01 10
2 B 1 2011-01-01 10
3 A 2 2011-01-01 10
4 B 2 2011-01-01 10
5 A 1 2011-01-02 10
6 B 1 2011-01-02 10
7 A 2 2011-01-02 10
8 B 2 2011-01-02 10
9 A 1 2011-01-03 10
10 B 1 2011-01-03 10
11 B 2 2011-01-03 10
我想找到A和B的每个值缺少的日期(在本例中,它应该是A,日期:2011-01-03),并在那里插入NaN。我尝试了reindex函数:
df.sort_values(['Column A','Column B'],ascending = [True,True], inplace = True)
df.index = range(1,len(df)+1)
dates = pd.date_range('2011-01-01','2011-01-03')
df = df.reindex(dates, fill_value = None)
print df
但它在每一个专栏中都给了我NaN。有人对如何标记这些缺失值有什么建议吗?试试以下方法:
df.set_index(['Column A', 'Column B', 'Date']).unstack().stack(dropna=False).sort_index(level=[2, 0]).reset_index()
Column A Column B Date Value
0 A 1 2011-01-01 10.0
1 B 1 2011-01-01 10.0
2 A 2 2011-01-01 10.0
3 B 2 2011-01-01 10.0
4 A 1 2011-01-02 10.0
5 B 1 2011-01-02 10.0
6 A 2 2011-01-02 10.0
7 B 2 2011-01-02 10.0
8 A 1 2011-01-03 10.0
9 B 1 2011-01-03 10.0
10 A 2 2011-01-03 NaN
11 B 2 2011-01-03 10.0
注意:第10行有缺失值,但这不会给我缺失值。我希望为缺少的值添加一行,该行的值将为NaNI。我相信这会解决这个问题。您是对的,这些值没有持久化。谢谢你的解决方案