gpt4 book ai didi

python - Pandas 数据框返回列字符串中的第一个单词

转载 作者:太空狗 更新时间:2023-10-30 01:50:33 24 4
gpt4 key购买 nike

我有一个数据框:

df = pd.DataFrame({'id' : ['abarth 1.4 a','abarth 1 a','land rover 1.3 r','land rover 2',
'land rover 5 g','mazda 4.55 bl'],
'series': ['a','a','r','','g', 'bl'] })

我想从相应的id中删除'series'字符串,所以最终结果应该是:

最终结果应该是 'id': ['abarth 1.4','abarth 1','land rover 1.3','land rover 2','land rover 5', 'mazda 4.55']

目前我正在使用 df.apply:

df.id = df.apply(lambda x: x['id'].replace(x['series'], ''), axis =1)

但这会删除字符串的所有实例,换句话说,就像这样:'id': ['brth 1.4','brth 1','land ove 1.3','land rover 2','land rover 5', 'mazda 4.55']

我是否应该像这样将正则表达式与 df.apply 中的变量混合和匹配?

df.id = df.apply(lambda x: x['id'].replace(r'\b' + x['series'], ''), axis =1)

最佳答案

使用 str.splitstr.get并使用 loc 分配只有哪里 df.make == ''

df.loc[df.make == '', 'make'] = df.id.str.split().str.get(0)

print df

id make
0 abarth 1.4 abarth
1 abarth 1 abarth
2 land rover 1.3 rover
3 land rover 2 rover
4 land rover 5 rover
5 mazda 4.55 mazda

关于python - Pandas 数据框返回列字符串中的第一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37504672/

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