我可以使用 for 循环选择数据框中的列吗?

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

我有一个包含超过 400 列的数据框,我试图根据某些条件选择一个包含大约一半列的子 df。我已经将过滤后的列存储为列表,希望使用 for 循环来迭代它们并选择新的 df,但我只获取列表中的最后一列。

我的列表有 200 个过滤列。我使用了以下 for 循环:

for i in list: df1 = df[["col1", "col2"]] df2 = df[[i]] df1 = df1.join(df2)

我的最终结果应该由“col1”、“col2”和随后的 200 列组成,但我不断得到的输出是 3 列、“col1”、“col2”和第 200 列。

pandas dataframe col
1个回答
0
投票

切勿重复加入列。这是低效的并且会使 DataFrame 碎片化。

假设您的列表名为

lst
,您应该这样做:

out = df[['col1', 'col2']+lst]
© www.soinside.com 2019 - 2024. All rights reserved.