【发布时间】:2021-09-20 14:12:53
【问题描述】:
我有一个如下所示的数据框:
df['col1'].values
array(['cat 113kd29', 'do56goat24kdasd', 'pig145kd'])
我需要使用以下值创建一个新列df['vals']:
cat 29
do56goatasd
pig
即首先我需要查找子字符串kd,然后找到它前面的数值。我不知道该怎么做。
每个字符串中可以有多个数值,所以我只需要找到kd 之前的数值。请注意字符串“cat 113kd29”。也看看'do56goat24kdasd'
我尝试了以下方法,但没有成功:
df['col1'].str.replace(r'(\d+)kd', '')
【问题讨论】:
-
but it didn't work...您当前对str.replace的调用实际上应该有效。如果不是上面的预期,你会得到什么输出? -
它只是不做任何事情并产生原始列
标签: pandas python-3.8