【发布时间】:2022-01-13 09:04:19
【问题描述】:
我有一个如下的数据框:(e,g)
import pandas as pd
df = pd.DataFrame({'text':['Lary Page is visiting on Saturday',' On Monday his boss, Maria Jackson is here .']})
我想将以下列表中收集的星期几替换为来自假库中的随机日期,用于每次出现的日子。我做了以下事情:
from faker import Faker
import numpy as np
fake = Faker()
days_list = ['Saturday','Monday','Tuesday']
我尝试了以下方法,但都返回了替换的日期而不是整个句子:
df.text = np.where(df.text.str.contains('|'.join(days_list)),
fake.day_of_week(), df.text)
或
df.text.str.replace('|'.join(days_list), fake.day_of_week())
我想要的输出:
print(df): (e,g)
'Lary Page is visiting on Tuesday'
'On Thursday his boss, Maria Jackson is here .'
【问题讨论】:
标签: python pandas string replace contains