使用替换和str.startswith()以重命名值

2024-10-02 18:27:18 发布

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

我有一个名为source的列,其中包含几百行文本。 问题是其中一些可以组合在一起,而我正努力在Pandas数据框中做到这一点。我的代码是:

df.source.replace({
                   df.source.str.startswith('share', na=False): 'sharePet',
                   df.source.str.startswith('2012-01-08', na=False): 'shareDate'

                 })

另外,这对以日期开头的第二行有效吗?如果没有,我可以保留它的第一行和其他分组的文本。在

希望你能给我一些建议。在


Tags: 数据代码文本falsesharesourcepandasdf
1条回答
网友
1楼 · 发布于 2024-10-02 18:27:18

您可以使用字典进行迭代:

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']))轻松检查系列中存在的类型。在

相关问题 更多 >