基于第一个点的内容从现有DF创建新的DF

2024-10-01 09:31:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试根据另一个数据帧的内容创建一个新的数据帧。 从本质上讲,我将CSV文件作为pivot_表导入,但我希望将其拆分为几个单独的数据帧,并可以选择导出到其他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

基于Region列,我尝试了

df.[northregion] = df.region == 'North'

当我创建新的数据框时,这确实基于内容识别了区域

north = df.pivot_table(index['northregion] etc...

它只是在整个帧中插入一个True False


Tags: 文件csv数据namejson内容dfutilization
1条回答
网友
1楼 · 发布于 2024-10-01 09:31:58

使用^{}

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
                             

这将创建由Region列的值访问的数据帧字典


要创建特定的数据帧,可以执行以下操作:

df[df['Region']=='North']

相关问题 更多 >