gpt4 book ai didi

python - 在循环中连接数据帧

转载 作者:行者123 更新时间:2023-12-01 09:19:48 25 4
gpt4 key购买 nike

我正在努力解决一些简单的事情,这让我发疯。

为什么像下面这样的连接不会将 df1 替换为 df1 + 附加列?

df1 = pd.DataFrame({'A':[1, 2, 3], 'B':[4, 5, 6]})
df2 = pd.DataFrame({'A':[1, 2, 3], 'B':[4, 5, 6]})
df3 = pd.DataFrame({'C':[999, 999, 999]})

for table in [df1, df2]:
table = pd.concat((table, df3), axis=1)
df1

enter image description here

谢谢!

[编辑]我需要分别获取 df1 和 df2:

enter image description here

最佳答案

您有两个 DataFrame。这些变量由两个变量名称“df1”和“df2”引用。现在,您可以在别名“table”下循环遍历这些数据帧。在循环内,“table”被重新分配给 concat 的结果。由于 concat 未就位,因此没有修改原始 DataFrame。

我的建议是维护一个 DataFrame 列表。

df_list = [df1, df2]

现在,修改列表:

for i, df in enumerate(df_list):
df_list[i] = pd.concat([df, df3], axis=1)

df_list 将反射(reflect)更新,因为它现在将保存新创建的 concat 输出。

df1, df2 = df_list

print(df1)
A B C
0 1 4 999
1 2 5 999
2 3 6 999

print(df2)
A B C
0 1 4 999
1 2 5 999
2 3 6 999

关于python - 在循环中连接数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50891974/

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