在Pandas Dataframe pd.concat之后,我得到了NaNs



我有三个熊猫,其中一个被"行"移位,第一个元素为空。当我连接三个df以获得单个3列数据帧时,我在三列中的两列中获得所有NaN:

df1:

                    S
2010-12-31         True
2011-01-01        False
2011-01-02        False

df2:

               P
2010-12-31           
2011-01-01    On
2011-01-02    On

df3:

              C
2010-12-31    On
2011-01-01    On
2011-01-02    On

res=pd。concat([df1,df2,df3](:

                    P         C           S
2010-12-31        NaN        NaN         True
2011-01-01        NaN        NaN        False
2011-01-02        NaN        NaN        False

顺序似乎也颠倒了。。。

非常感谢

In [2]: index = pd.DatetimeIndex(['2010-12-31', '2011-01-01', '2011-01-02'])
In [3]: df1 = pd.DataFrame({'S':[True,False,False]}, index=index)
In [4]: df2 = pd.DataFrame({'P':['','On','On']}, index=index)
In [5]: df3 = pd.DataFrame({'C':['On','On','On']}, index=index)

如果您的DataFrames定义如上,那么pd.concataxis=1应该可以工作:

In [7]: pd.concat([df1,df2,df3], axis=1)
Out[7]: 
                S   P   C
2010-12-31   True      On
2011-01-01  False  On  On
2011-01-02  False  On  On
[3 rows x 3 columns]

相关内容

最新更新