我有一个来自 BLS 的数据 DataFrame,其中包含与 series_id、年份、期间和值相对应的列。每个条目的 series_id 长度为 20 个字符,最后两个字符对应于度量类型(即 01:所有员工,以千为单位,26:所有员工,3 个月的平均变化)。有没有办法将 DataFrame 分成一个多列(所有员工、所有员工、3 个月平均变化等)?总共有 9 个我想要拆分的度量,并且没有关于它们切换到不同度量的频率的模式,所以我不能每 100 个条目或任何数量拆分 DataFrame。数据的网址是: https: //download.bls.gov/pub/time.series/sm/sm.data.0.Current数据是什么样的:我希望数据看起来像什么:
1 回答
catspeake
TA贡献1111条经验 获得超0个赞
如果您仍在寻找解决方案。采纳 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)
添加回答
举报
0/150
提交
取消