如何对Period列执行unstack操作将各年份拆分为单独列
实现Period列unstack拆分年份为独立列的操作步骤
以下操作默认使用Python pandas库处理,你已经将dentist.csv读取为名为df的DataFrame对象。
步骤1:设置多级索引
unstack操作需要先将待拆分的Period列和其他不需要拆分的维度列共同设为多级索引:
# 列表内的列名可根据你实际的数据集维度字段调整,核心是把Period放在索引的最后一级 df = df.set_index(['Location', 'Indicator', 'Dim1', 'Period'])
步骤2:执行unstack拆分
直接对Period对应的索引层级执行unstack操作:
# 按Period层级拆分出独立年份列 df_unstacked = df.unstack(level='Period') # 移除多余的列层级,让列名直接显示为年份 df_unstacked.columns = df_unstacked.columns.droplevel(0).map(str) # 重置索引,把之前的维度列恢复为普通列 df_unstacked = df_unstacked.reset_index()
步骤3:校验与异常处理
- 处理完成后可以运行
df_unstacked.head()查看结果,确认每一年份已经成为独立列 - 如果操作报错,可先运行
df.duplicated(subset=['Location', 'Indicator', 'Dim1', 'Period']).sum()检查是否存在同维度同年份的重复值,提前去重或聚合后再执行上述操作即可。
内容的提问来源于stack exchange,提问作者DeAbdul
相关产品推荐
相关产品推荐

