我正在尝试根据另一个数据框的内容创建一个新的数据框。 本质上,我是将CSV文件导入为数据透视表,但随后我想将其拆分为几个单独的数据框,并可以选择导出到其他CSV或JSON
内容基本上是
Region,Name,utilization,capacity
North,Westfield,10,20
North,ShadyAcres,100,300
South,Chapelton,30,300
South,Spinney,10,40
Midlands,oakfields,10,15
Midlands,chestfords,14,20
我基本上想将其剥离为一个单独的数据帧,仅包含
Name,Utilization,Capacity
根据“地区”列,我尝试了
df.[northregion] = df.region == 'North'
当我创建新数据框时确实根据内容确定了区域
north = df.pivot_table(index['northregion] etc...
它只是将True False插入整个框架中
答案 0 :(得分:2)
df_Region={i:group for i,group in df.groupby('Region')}
或如耶斯拉尔建议的那样:
df_Region=dict(tuple(df.groupby('Region')))
for Region in df_Region:
print(f'df[{Region}]')
print(df_Region[Region])
print('-'*50)
df[Midlands]
Region Name utilization capacity
4 Midlands oakfields 10 15
5 Midlands chestfords 14 20
--------------------------------------------------
df[North]
Region Name utilization capacity
0 North Westfield 10 20
1 North ShadyAcres 100 300
--------------------------------------------------
df[South]
Region Name utilization capacity
2 South Chapelton 30 300
3 South Spinney 10 40
--------------------------------------------------
这将创建一个DataFrame字典,该字典可由Region
列的值访问
您可以执行以下操作来创建特定的数据框:
df[df['Region']=='North']