在Python Datafram中提取字符串子字符串的问题

2024-05-16 20:49:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个表达式(列的一行,在pandas数据框中称为“old\u col”)(显示了数据框中列的前两行)

abcd\ U 6.9\ U uuu ghaha\ U 12.8\ SKS

abcd\ U 5.2\ U uuu ghaha\ U 13.9\ SKS

我试着用结构提取物在数据帧上获取两个浮点数。但是我发现了两个问题,只有第一个问题(第一排6.9,第二排5.2)

1。那我该怎么做呢?你知道吗

2。另外,我如何使提取方法通用,以拾取任何数字(5.7或12.9)

我正在使用: df['新列']=df['旧列']。结构提取物('(\ud.\d)')


Tags: 数据方法pandasdf表达式数字col结构
1条回答
网友
1楼 · 发布于 2024-05-16 20:49:04

要获得多个数字

df['col'].str.extract('(\_\d+\.\d+)')

    col
0   _6.9
1   _15.9

要获取所有引用,请使用^{}

df['col'].str.extractall('(\_\d+\.\d+)')

            col
    match   
0   0      _6.9
    1     _12.8
1   0     _15.9
    1     _13.9

要分配回df:

s = df['col'].str.extractall('(\_\d+\.\d+)')['col']
df['new_col'] = s.groupby(s.index.get_level_values(0)).agg(list)

相关问题 更多 >