如何从一个pandas列中进行搜索和匹配来创建一个新的列?

0 人关注

我有一个pandas数据框架,其中有一个字符串列A,我想在下面的列表中匹配特定的关键词并创建一个新的列。

[安卓、iOS、Windows、Linux、MacOS]。

如果上述列表中没有匹配的,那么新的列值就是 "其他"。

1 个评论
请在你的问题中以代码的形式加入你的努力,SO上非常鼓励这样做,谢谢。
python
pandas
dataframe
Zenvega
Zenvega
发布于 2021-05-05
1 个回答
SAL
SAL
发布于 2021-05-05
已采纳
0 人赞同

你可以尝试以下代码。

创建虚拟数据框架和要匹配的单词列表。

terms = ['Android', 'iOS','Windows']
x = pd.DataFrame({'Col1':['iPhoneiOS 13.5.1','Android10','SamsungAndroid 9','Windows 10','iPhoneiOS 13.7','iOS 14.2','Test','',np.nan]})

Helper function to find strings:

def find_str(x):
  for i in terms:
    if i.lower() in x.lower():
        return i
    else: