我有一个来自BLS的数据DataFrame,其中有对应于series_id、year、period和value的列。每个条目的series_id长度为20个字符,最后两个字符对应于度量类型(即01:所有员工,单位为千,26:所有员工,3个月平均变化)。有没有办法将DataFrame拆分为多个列(所有员工、所有员工、3个月平均变动等)?我想拆分总共有9个度量值,并且没有模式说明它们切换到不同的度量值的频率,所以我不能每100个条目或其他任何数字拆分DataFrame。
数据的url是:https://download.bls.gov/pub/time.series/sm/sm.data.0.Current
数据的外观:

我想要的数据是什么样子的:

发布于 2020-07-11 01:57:42
以防您仍在寻找解决方案。根据ansev的建议,使用数据透视表:
df['measure']=df['series_id'].str[18:20]
df['series_id']=df['series_id'].str[:18]
dat=df.pivot_table(index=['series_id','year','period'],values='value',
columns=['measure']).reset_index()
# To rename columns
names={'01':'All Employees','26':'All Employees, 3-month change'}
dat=dat.rename(columns=names)https://stackoverflow.com/questions/62837575
复制相似问题