【问题标题】: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:。这与性能无关,但可能有助于更好地理解它。

标签: python pandas list loops dataframe


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-18
    • 2019-06-21
    • 2017-03-01
    • 2020-01-16
    • 1970-01-01
    • 2020-12-18
    • 2020-12-31
    • 2020-07-02
    相关资源
    最近更新 更多