我有这个数据框(包含所有50个状态和更多类别,但如果我们能让它工作,我可以将其应用于整个数据集):
US US_bp US_bp% AL AL_bp AL_bp%
total_pop 324173084 41393176 12.8 4920613 794326 16.1
white 198511109 19510415 9.8 3218517 378269 11.8
black 38526055 8402643 21.8 1260356 327284 26.0
字符串
需要这个:
place total_pop bp bp% white_pop white_bp white_bp% black_pop black_bp black_bp%
0 US 324173084 41393176 12.8 198511109 19510415 9.8 8402643 840263 21.4
1 AL 4920613 794326 16.1 3218517 378269 11.8 1260356 327284 26.0
型
我怎么能和Pandas一起做这件事?我试过融化和旋转,但不能包我的头周围什么可能工作。
3条答案
按热度按时间gkl3eglg1#
以下是部分解决方案:将列转换为MultiIndex,然后进行堆叠和取消堆叠。
我使用正则表达式作为第一步:提取两个大写字符,可选地后跟一个下划线和另一部分。
个字符
我更希望堆栈/解堆栈不排序,但至少you can fix that by reindexing。我也不想麻烦得到你想要的标签,但大部分都很容易。
fwzugrvs2#
另一个解决方案,使用
pd.wide_to_long
:字符串
图纸:
型
rsl1atfo3#
_
结尾的列:字符串
型
型
型