Python / Pandas:如果行中的另一个字段包含字符串中的条件,则更新同一行中的字段

a.WOL7

我有五个汽车品牌(宝马、福特、保时捷、斯柯达、马自达)的列表,我的数据框中的数据将仅来自这五个品牌之一。

模型列将始终包含品牌,但有时品牌列未填充。有没有办法根据包含所需字符串的模型更新品牌。模型也可能并不总是在字符串的开头。

我的数据框:

  Brand    Model
0 nan      Mazda CX-5
1 BMW      BMW X5
2 BMW      BMW 2 Series
3 Ford     Ford Focus
4 Porsche  Porsche Cayenne
5 Skoda    Skoda Octavia
6 nan      911 Porsche
7 nan      8 Series BMW

我想要的数据框:

  Brand    Model
0 Mazda    Mazda CX-5
1 BMW      BMW X5
2 BMW      BMW 2 Series
3 Ford     Ford Focus
4 Porsche  Porsche Cayenne
5 Skoda    Skoda Octavia
6 Porsche  911 Porsche
7 BMW      8 Series BMW
莫兹韦

您可以使用正则表达式来提取第一个(仅字母)单词和fillna.

df['Brand'] = df['Brand'].fillna(df['Model'].str.extract('([a-zA-Z]+)',
                                                         expand=False))

输出:

     Brand            Model
0    Mazda       Mazda CX-5
1      BMW           BMW X5
2      BMW     BMW 2 Series
3     Ford       Ford Focus
4  Porsche  Porsche Cayenne
5    Skoda    Skoda Octavia
6  Porsche      911 Porsche

注意。如果品牌名称并不总是只有第一个字母,您需要提供有关如何识别它的更多详细信息。

使用已知的品牌列表
brands = ['BMW', 'Ford', 'Porsche', 'Skoda', 'Mazda']
regex = '(%s)' % '|'.join(brands)
df['Brand'] = df['Brand'].fillna(df['Model'].str.extract(regex, expand=False))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python Pandas:检查同一列中另一列的字符串中是否包含一个列中的字符串

Python:从列表中查找与另一个字符串最接近的字符串

检查Python列表项是否在另一个字符串中包含一个字符串

Python-字符串是否包含另一个字符串中的所有字符?

Python:Pandas将每一行连接成一个字符串

如果两列中的一行包含相同的字符串python pandas

检查句子中是否存在某些字符串,并使用Python 3.6将其替换为另一个字符串

如何在python字符串中的某个字符之前拆分最后一个单词并替换txt文件中的同一行?

Python:如果其他两列在同一行中包含“否”字符串,则从行中删除字符串值

Python-一个字符串列在另一个字符串列中吗?

检查一个字符串是否在python中包含另一个字符串

将字符串插入Python中另一个字符串的最后一个空白空间

如何在不使用python中的find()方法的情况下在另一个字符串中查找字符串

Python Django使用同一模型中的另一个字段填充模型中的字段

Python:删除列表中至少由同一列表中其他一个字符串包含的字符串

如何检查集合中的字符串是否是python 2.7中另一个字符串的一部分?

Python:如果在一行中遇到一个字符,如何转到下一行

Python 3:检查一个字符串是否有另一个列表中的多个匹配项

在 Python 中计算另一个字符串中字符串的更好方法

基于 Python 中另一个字符串的字符串生成

如何使用 Pandas 数据框字段在 Python 中的另一个字段中使用正则表达式替换文本?

DynamoDB 更新一个字段,该字段具有 JSON 作为值,整数/数字字符串作为 python 中的键

python基于另一个字符串变量创建字符串变量(包含)

从 Python 中的另一个字符串中删除第一次出现的字符串

使用 python,我如何确定一个字符串是否包含除另一个列表中的字符之外的任何字符

Python - 如何用另一个字符串替换文本文件中的某一行?

在python中的另一个字符串元素之间更改字符串元素

如何在python中的另一个字符串中搜索带有空格的字符串?

如果同一行中的其他列与某个字符串匹配,Python Pandas 会创建新列