将某些子字符串从一列复制到另一列?

2024-06-17 13:35:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一列多行的文本。例如:

“星期六早上很好”
“昨天是星期五”
“他晚上去商店”

如何从每一行中提取特定的关键字,比如说一周中的几天(“星期一”、“星期二”、“星期三”等),并将其存储在新的列中。我不想兜圈子。也许使用lambda函数?你知道吗


Tags: lambda函数文本关键字商店兜圈子
2条回答

您可以使用^{}来实现:

words = ['Saturday', 'Friday']
df['Word'] = df['Strings'].str.extract(r'({})'.format('|'.join(words)))

print(df)

                         Strings      Word
0      Saturday morning was nice  Saturday
1           Yesterday was Friday    Friday
2  He went to the store at night       NaN

不需要lambda,这里是findall

#l=['Monday',...'Sunday'] define you own list
df['Newcol']=df.Date.str.findall('|'.join(l))
0    [Saturday]
1      [Friday]
2            []
Name: Date, dtype: object

相关问题 更多 >