我有一個來自 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
提交
取消