gpt4 book ai didi

python - pandas concat() 不加入同一列

转载 作者:行者123 更新时间:2023-12-02 01:53:40 25 4
gpt4 key购买 nike

我有两个数据帧,我正在尝试连接它们。我确保它们具有相同数量的列并且数据类型匹配。

但是,当调用 pd.concat([df1, df2],ignore_index=True) 时,我得到一个包含 24 列和许多 NaN 值的数据帧。我预计pd.concat()将第二个数据框放置在第一个数据框的“下方”(因此默认值;axis=0)。

我做错了什么?

>>> df1.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 798810 entries, 0 to 798809
Data columns (total 12 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 0 798810 non-null Int64
1 1 798810 non-null float64
2 2 798810 non-null float64
3 3 798810 non-null float64
4 4 798810 non-null float64
5 5 798810 non-null float64
6 6 798810 non-null Int64
7 7 798810 non-null float64
8 8 798810 non-null Int64
9 9 798810 non-null float64
10 10 798810 non-null float64
11 11 798810 non-null float64
dtypes: Int64(3), float64(9)
memory usage: 75.4 MB
>>> df2.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 500 entries, 0 to 499
Data columns (total 12 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 0 500 non-null Int64
1 1 500 non-null float64
2 2 500 non-null float64
3 3 500 non-null float64
4 4 500 non-null float64
5 5 500 non-null float64
6 6 500 non-null Int64
7 7 500 non-null float64
8 8 500 non-null Int64
9 9 500 non-null float64
10 10 500 non-null float64
11 11 500 non-null float64
dtypes: Int64(3), float64(9)
memory usage: 48.5 KB
>>> pd.concat([df1, df2], ignore_index=True).shape
(799310, 24)

最佳答案

我认为一个数据框中的列名不是数字,而是字符串,所以你可以尝试:

df1.columns = df1.columns.astype(int)
df2.columns = df2.columns.astype(int)

df = pd.concat([df1, df2], ignore_index=True)

或者:

df = pd.concat([df1.rename(columns=int), df2.rename(columns=int)], ignore_index=True)

关于python - pandas concat() 不加入同一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60237702/

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