繁体   English   中英

如何更新 Pandas Dataframe 中值列表的列

[英]How to update a column for list of values in Pandas Dataframe

我有数据框,我想更新特定数据集的数据框列的值。 如何做到这一点。我有大约 20000 条记录需要更新。

样本输入

Id  Registered
345     Y
678     N
987     N
435     N
2345    Y
123     N
679     N

当我给出 Set of Id numbers 时,我想将 Registered 列更新为 Y 。 如何做到这一点我想将 678,124,435 的 Registered 列更改为 Y 。 当列表很大时,如何做到这一点。

您可以使用isin生成的掩码来索引dfRegistered列并相应地设置值。

df.loc[df['Id'].isin(ids), 'Registered'] = 'Y'
df

     Id Registered
0   345          Y
1   678          Y
2   987          N
3   435          Y
4  2345          Y
5   123          N
6   679          N

或者你可以使用where / mask

ids=[678,124,435]    
df.Registered=df.Registered.where(df.Id.isin(ids),'Y')

或者,

df.Registered=df.Registered.where(df.Id.isin(ids),'Y')

df

     Id Registered
0   345          Y
1   678          N
2   987          Y
3   435          N
4  2345          Y
5   123          Y
6   679          Y

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM