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。我相信这会解决这个问题。您是对的,这些值没有持久化。谢谢你的解决方案