Pandas执行.T转置后列不符合预期,如何生成指定列名的结构
解决方案
你当前直接转置后列名不符合预期,是因为原DataFrame的索引为['1st', '2nd'],列值为[10,20,5,30],转置后数值列会变成新的索引,原有索引会变成新的列名,只需要补充重置索引的操作即可:
# 转置后将索引重命名为votes,再转为普通列 df_t = df.T.rename_axis('votes').reset_index()
执行后得到的df_t就是你需要的结构:
| votes | 1st | 2nd |
|---|---|---|
| 10 | a | b |
| 20 | e | a |
| 5 | b | c |
| 30 | c | e |
后续统计操作示例
如果要统计1st列中值为a对应的votes总和,直接按条件筛选求和即可:
total_votes_for_a = df_t.loc[df_t['1st'] == 'a', 'votes'].sum()
内容的提问来源于stack exchange,提问作者extDependency
相关产品推荐
相关产品推荐

