在 pandas 数据帧中使用REPLACE和str.startswith()来重命名值
问题描述
我有一个名为SOURCE的列,它包含数百行文本。 问题是,其中一些可以组合在一起,我正在努力在 pandas 数据帧中做到这一点。以下是我的代码:
df.source.replace({
df.source.str.startswith('share', na=False): 'sharePet',
df.source.str.startswith('2012-01-08', na=False): 'shareDate'
})
此外,这是否适用于以日期开头的第二行?如果不是,我可以将其保留为第一行和其他文本分组。
想要一些建议。
解决方案
您可以使用字典进行迭代:
d = {'share': 'sharePet', '2012-01-08': 'shareDate'}
for k, v in d.items():
df.loc[df['source'].str.startswith(k, na=False), 'source'] = v
Pandasstr.startswith
仅适用于字符串。您可以通过set(map(type, df['source']))
轻松查看您的系列中存在哪些类型。
相关文章