切片数据集并快速存储在新数据框中?

时间:2018-03-26 15:48:58

标签: python pandas

我是python的新手,非常感谢你的帮助。

我将具有相同标题的4个数据集导入到python中。现在我想创建4个仅包含4个数据集中选定列的数据框。我知道如何以丑陋的方式去做,但是执行此任务的最有效方法是什么?

我尝试了for循环,但无法使其正常工作:D

导入为df1,df2,df3,df4

的数据集
dataset_list = (df1,df2,df3,df4)
new_dataframes= (df_1,df_2,df_3,df_4)
for i in dataset_list:
    for e in new_dataframes:
        e = i.loc[0:,['column1','column2','column3','column4']]

2 个答案:

答案 0 :(得分:2)

你可以使用词典理解:

cols = ['column1','column2','column3','column4']
dfs = {k: df[cols] for k, df in enumerate([df1, df2, df3, df4], 1)}

此方法的好处是它可以满足任意数量的项目,而无需手动增加变量名称。

答案 1 :(得分:1)

这种方法怎么样:

dataset_list = (df1,df2,df3,df4)
def slice(df):
    return df.loc[:, ['column1','column2','column3','column4']]

df_1,df_2,df_3,df_4 = map(slice, dataset_list)