在 pandas 数据框中使用 replace 和 str.startswith() 重命名值
Posted
技术标签:
【中文标题】在 pandas 数据框中使用 replace 和 str.startswith() 重命名值【英文标题】:Using replace and str.startswith() in a pandas dataframe to rename values 【发布时间】:2019-04-29 04:49:07 【问题描述】:我有一个名为 source 的列,其中包含几百行文本。 问题是其中一些可以组合在一起,我正在努力在 Pandas 数据框中做到这一点。这是我的代码:
df.source.replace(
df.source.str.startswith('share', na=False): 'sharePet',
df.source.str.startswith('2012-01-08', na=False): 'shareDate'
)
此外,这是否适用于以日期开头的第二行?如果不是,我可以将其保留在第一行和其他文本分组中。
希望得到一些建议。
【问题讨论】:
【参考方案1】:您可以使用字典并进行迭代:
d = 'share': 'sharePet', '2012-01-08': 'shareDate'
for k, v in d.items():
df.loc[df['source'].str.startswith(k, na=False), 'source'] = v
Pandas str.startswith
仅适用于字符串。您可以通过set(map(type, df['source']))
轻松查看您的系列中存在哪些类型。
【讨论】:
以上是关于在 pandas 数据框中使用 replace 和 str.startswith() 重命名值的主要内容,如果未能解决你的问题,请参考以下文章
Pandas 替换列中的值,但 to_replace 参数是包含元组的元组
使用 pandas.DataFrame.mode 和 groupby 在数据框中找到大多数 [重复]