gpt4 book ai didi

python - 将字母组合分成具有单个字母值的列 python pandas

转载 作者:行者123 更新时间:2023-12-04 08:21:01 25 4
gpt4 key购买 nike

使用 python 3.8, Pandas 1.1.4
我有一个看起来像这样的数据框

id             combination  
1 'A23B14C02R01D05E03F07G07H01I00J02K11L30'
2 'A11B14C02R01D05E03F07G07H01I00J02K11L30'
3 'A30B14C02R01D05E03F07G07H01I00J02K11L30'
...
我想要做的是将组合列分成仅包含一个字母表的多列。
所需的输出应如下所示:
id    A     B   C   R    D   E    F    G    H    I    J    K    L
1 23 14 02 01 05 03 07 07 01 00 02 11 30
2 11 14 02 01 05 03 07 07 01 00 02 11 30
3 30 14 02 01 05 03 07 07 01 00 02 11 30
...
提前致谢!

最佳答案

让我们试试 findall然后 explodecrosstab用于枢轴

s = df.combination.str.findall('([a-zA-Z]+)(\d+)').explode()
df = df.join(pd.crosstab(index=s.index,columns=s.str[0],values=s.str[1],aggfunc='first'))
df
id combination A B C ... I J K L R
0 1 A23B14C02R01D05E03F07G07H01I00J02K11L30 23 14 02 ... 00 02 11 30 01
1 2 A11B14C02R01D05E03F07G07H01I00J02K11L30 11 14 02 ... 00 02 11 30 01
2 3 A30B14C02R01D05E03F07G07H01I00J02K11L30 30 14 02 ... 00 02 11 30 01
[3 rows x 15 columns]

关于python - 将字母组合分成具有单个字母值的列 python pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65501380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com