首页 > 解决方案 > 提取列表中的项目以分隔日期框 Python/Pandas

问题描述

#filter report for a list of manufacturers
manu_list = ['ford','chrysler','mercury','jeep','dodge','ferrari']
df_subset = df[df['manufacturer'].isin(manu_list)]

我正在解决一个问题,并试图将列表中的项目提取到单独的数据框中。如上所述,我能够根据与给定列中的值匹配的行创建数据框的子集。现在,我正在尝试为列表中的每个值创建一个单独的数据框。我想出了下面的 for 循环,并想出了一个错误“列表索引必须是整数或切片,而不是 str'。我在这里做错了什么?

for i in manu_list:
     manu_list[i] = vehicles[vehicles['manufacturer'] == i]

编辑:所以我更新了我的代码,但不是我试图调用数据框并被告知它没有定义。

for i in range(len(manu_list)):
manu_list[i] = vehicles[vehicles['manufacturer'] == i]

标签: pythonpandas

解决方案


在您的情况下,您可以使用groupby

df_subset = df[df['manufacturer'].isin(manu_list)]
l = [ y for x , y in df_subset.groupby('manufacturer')]

推荐阅读