循环转置和连接数据帧列表

Posted

技术标签:

【中文标题】循环转置和连接数据帧列表【英文标题】:Loop to transpose and concatenate list of dataframes 【发布时间】:2020-03-18 15:02:48 【问题描述】:

我有一个不同编号的数据框列表。行数: 我想转置列表中的每个数据帧并将其连接到一个数据帧。由于我的列表中有超过 600 个数据帧,我想使用循环...我只能将其应用于单个数据帧。

[     Score
 0    0.000
 1    0.050
 2    0.016
 3    0.007
 4    0.424
 ..     ...
 346  0.038

 [347 rows x 1 columns],      Score
 0    0.100
 1    4.006
 2    0.598
 3    0.005
 4    9.007
 ..     ...
 390  0.050
[391 rows x 1 columns], .... ]

单个数据框的代码:

df = list[0] 
df_transposed = df.T
df_transposed.rename(index='Score':0, inplace=True)
df_transposed

我的尝试:

df_final = []
for i in list:
    df = list[i]
    df_transposed = df.T
    df_transposed.rename(index='Score':0, inplace=True)
    df_final.append(df_transposed)

如何更有效地处理列表中的所有数据框?

【问题讨论】:

list 这对您的变量来说不是一个好名字。如果你不使用i,你可以这样做:for df in df_list:。这与性能无关,但可能有助于更好地理解它。 【参考方案1】:

首先不要使用变量list,因为python代码字(builtin)。将 list 更改为 L 并使用列表理解:

df_final = [x.T.rename(index='Score':0) for x in L]

【讨论】:

以上是关于循环转置和连接数据帧列表的主要内容,如果未能解决你的问题,请参考以下文章

bigquery 为每条记录转置和连接

Spark:如何使用嵌套数组转置和分解列

在熊猫中分组,转置和附加?

在Python中转置和乘以列表

在循环中连接数据帧非常慢

如何从包含集合的 pandas 列转置和转换为“one-hot-encode”样式?