将 pandas 中的多个 Dataframes 与通用列名组合

问题描述 投票:0回答:2

我有 7 个数据框,如下所示:

name sub amount
a     b    5

name sub amount
a     b    10

name sub amount
a     b    63

name sub amount
a     b    85

name sub amount
a     b    4

. . .

我希望他们看起来像这样:

amount
5
10
63
85
4
.
.

我试过:

frames = [df1, df2, df3, df4, df5, df6, df7]
result = pd.concat(frames)

但结果显示与 nan 的对角线组合数据帧。

有人可以帮忙吗?

pandas join merge concatenation
2个回答
0
投票
frames = [df1['amount'], df2['amount'], df3['amount'], df4['amount'], df5['amount'], df6['amount'], df7['amount']]
result = pd.concat(frames, ignore_index=True)

0
投票
df1 = pd.DataFrame({'name': ['a'], 'sub': ['b'], 'amount': [5]})
df2 = pd.DataFrame({'name': ['a'], 'sub': ['b'], 'amount': [10]})
df3 = pd.DataFrame({'name': ['a'], 'sub': ['b'], 'amount': [63]})
df4 = pd.DataFrame({'name': ['a'], 'sub': ['b'], 'amount': [85]})
df5 = pd.DataFrame({'name': ['a'], 'sub': ['b'], 'amount': [4]})

pd.concat([df1, df2, df3, df4, df5]).amount
© www.soinside.com 2019 - 2024. All rights reserved.