pandas 连接 Dataframe 而不使列数加倍

ulydmbyx  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(108)

我尝试将DF1:

datecreated     1     2     3     4     5  ...   331   332   333   334   335   336
0  2022-11-14      4000  3900  3850  3810  3790  ...  5520  5300  5180  4990  4730  4520

使用DF2:

datecreated     1       2       3  ...     333     334     335     336
0  2022-11-15      4000    3200    3150  ...  5544    4190    4735    3520.0

使用:

pd.concat([df_, df2.reset_index()], axis=0)

我得到:

datecreated     1       2       3    ...     
0         2022-11-14      4000.0  3900.0  3850.0  ...     
0         2022-11-15      NaN     NaN     NaN  ...

存在一些问题:列在concat之后加倍(大量NaN),行索引不是增量的。如何解决这个问题?

px9o7tmv

px9o7tmv1#

我似乎无法重现您的问题......但是,为了让您猜一猜,我打赌其中一个列名是整数,另一个列名是字符串:
给定:

# df1
   datecreated     1     2     3     4     5
0  2022-11-14      4000  3900  3850  3810  3790

# df2
   datecreated     1       2       3
0  2022-11-15      4000    3200    3150

正在执行:

# Possible Fix:
df1.columns, df2.columns = [[str(x) for x in df.columns] for df in [df1, df2]]

# To re-increment the index, use ignore_index=True:
df = pd.concat([df1, df2], ignore_index=True)
print(df)

输出量:

datecreated     1     2     3       4       5
0  2022-11-14  4000  3900  3850  3810.0  3790.0
1  2022-11-15  4000  3200  3150     NaN     NaN

相关问题