gpt4 book ai didi

python - 匹配列并 append 到数据框,Python 3.6

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

我有大约 50 个 excel 文件,我想导入数据框并将所有文件合并到单个数据框中。但是有些文件有 3 列,有些是 4 列。每个文件以不同的顺序作为不同的列。

所有文件的不同列总数:5,即 col1、col2、col3、col4、col5

我知道如何导入,但在 append 时面临问题。

脚本:

dfAll = pd.DataFrame(columns=['col1', 'col2', 'col3', 'col4', 'col5')]
df= pd.read_excel('FilePath', sheetname='data1') # contains 3 columns i.e col1, col2, col5
columnsOFdf = df.columns
dfAll[columnsOFdf] = dfAll.append(df)

但它给出错误“ValueError:列的长度必须与键相同”

我想将 df['col1','col2','col5'] 数据 append 到 dfAll['col1','col2','col5']

请帮助解决这个问题。

最佳答案

串联将匹配您的列

dfs = []
files = [...]
for file_name in files:
dfs.append(pd.read_excel(file_name, sheetname='data1'))
df = pd.concat(dfs)

df1 = pd.DataFrame(np.random.randn(3, 3), columns=list('ABC'))
df2 = pd.DataFrame(np.random.randn(3, 3), columns=list('BCD'))
>>> pd.concat([df1, df2])
A B C D
0 -2.329280 0.644155 -0.835137 NaN
1 0.666496 -1.299048 0.111579 NaN
2 1.855494 -0.085850 -0.541890 NaN
0 NaN -1.131514 1.023610 -0.514384
1 NaN 0.670063 1.403143 -0.978611
2 NaN -0.314741 -0.727200 -0.620511

此外,每次您将数据框 append 到现有数据框时,它都会返回一个副本。这会严重降低性能,被称为二次复制。您最好创建所有数据帧的列表,然后连接结果。

关于python - 匹配列并 append 到数据框,Python 3.6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46077249/

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