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

python-熊猫:如何基于ID列表增加列的单元格值

我有一个对应于数据框行的ID列表.从该ID列表中,我想增加与该ID的行相交的另一列的值.

我在想的是这样的:

ids = [1,2,3,4]

for id in ids:
    my_df.loc[my_df['id']] == id]['other_column'] += 1

但这是行不通的.如何更改原始df my_df?

解决方法:

尝试这个:

my_df.loc[my_df['id'].isin(ids), 'other_column'] += 1

演示:

In [233]: ids=[0,2]

In [234]: df = pd.DataFrame(np.random.randint(0,3, (5, 3)), columns=list('abc'))

In [235]: df
Out[235]:
   a  b  c
0  2  2  1
1  1  0  2
2  2  2  0
3  0  2  1
4  0  1  2

In [236]: df.loc[df.a.isin(ids), 'c'] += 100

In [237]: df
Out[237]:
   a  b    c
0  2  2  101
1  1  0    2
2  2  2  100
3  0  2  101
4  0  1  102

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

相关推荐