如何解决有没有一种计算上更便宜的方法来替换数据帧中的名称?
我只想在大数据框(约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_tag
用bool_list
过滤行,然后提取第一列并修改过滤后的字符串。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。