gpt4 book ai didi

python - 从列列表中的括号内提取数字

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:04 24 4
gpt4 key购买 nike

我有一个 pandas 数据框列表列,想要从列表字符串中提取数字并将它们添加到自己的单独列中。

     Column A 
0 [ FUNNY (1), CARING (1)]
1 [ Gives good feedback (17), Clear communicator (2)]
2 [ CARING (3), Gives good feedback (3)]
3 [ FUNNY (2), Clear communicator (1)]
4 []
5 []
6 [ CARING (1), Clear communicator (1)]

我希望输出如下所示:

FUNNY     CARING    Gives good feedback    Clear communicator
1 1 None None
None None 17 2
None 3 3 None
2 None None 1
None None None None

等等...

最佳答案

让我们将 applypd.Series 结合使用,然后使用 set_indexunstack 进行提取和 reshape :

df['Column A'].apply(pd.Series).stack().str.extract(r'(\w+)\((\d+)', expand=True)\
.reset_index(1, drop=True).set_index(0, append=True)[1]\
.unstack(1)

输出:

0 Authentic Caring Classy Funny
0 1 3 None 2
1 2 None 1 2

使用新的输入数据集进行编辑:

df['Column A'].apply(pd.Series).stack().str.extract(r'(\w+).*\((\d+)', expand=True)\
.reset_index(1, drop=True)\
.set_index(0, append=True)[1]\
.unstack(1)

0 CARING Clear FUNNY Gives
0 1 None 1 None
1 None 2 None 17
2 3 None None 3
3 None 1 2 None
6 1 1 None None

关于python - 从列列表中的括号内提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46612097/

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