微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有一种计算上更便宜的方法来替换数据帧中的名称?

如何解决有没有一种计算上更便宜的方法来替换数据帧中的名称?

我只想在大数据框(约600万行)中,将满足特定条件的名称的子集添加“ -PD”。

我列出了要更改的名称

bool_list = df_geo_clean_tag['index'].isin(lessorequalto0_ids)

然后我遍历bool_list为true的数据框以找到应替换名称的索引:

for row in range(len(df_geo_clean_tag)):
    if bool_list[row] == True:
        name = df_geo_clean_tag.iloc[row,0]
        df_geo_clean_tag.iloc[row,0] = name + '-PD'

,但是这花费了非常长的时间(目前等待了一个多小时)。 有没有一种计算成本更低的方法来做到这一点?

解决方法

这应该比循环快得多:

df_geo_clean_tag.loc[bool_list,df.columns[0]] += '-PD'

此代码df_geo_clean_tagbool_list过滤行,然后提取第一列并修改过滤后的字符串。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。