gpt4 book ai didi

python - 在 Pandas Dataframe pd.concat 之后我得到了 NaN

转载 作者:太空狗 更新时间:2023-10-30 00:50:17 25 4
gpt4 key购买 nike

我有三个 pandas df,其中一个已经“行”移位,第一个元素是空的。当我连接三个 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)

如果您的 DataFrame 定义如上,则 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]

关于python - 在 Pandas Dataframe pd.concat 之后我得到了 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22531164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com