df为数据帧,如下所示:

      date   text
0  2019-6-7  London is good.
1  2019-5-8  I am going to Paris.
2  2019-4-4  Do you want to go to London?
3  2019-3-7  I love Paris!

我想添加一列city,表示text中包含的城市,即,
       date  text                          city
0  2019-6-7  London is good.               London
1  2019-5-8  I am going to Paris.          Paris
2  2019-4-4  Do you want to go to London?  London
3  2019-3-7  I love Paris!                 Paris

如何不使用lambda

最佳答案

您可以首先匹配确定您有城市列表,然后str.findall

df.text.str.findall('London|Paris').str[0]
Out[320]:
0    London
1     Paris
2    London
3     Paris
Name: text, dtype: object
df['city'] = df.text.str.findall('London|Paris').str[0]

关于python - 如何使用包含的关键字对 Pandas 中的数据进行分类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56944934/

10-12 20:09