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

python – 如何随机更改pandas DataFrame中某些行的值?

我有一个像下面这样的pandas Dataframe:

UserId    ProductId    Quantity
1         1            6
1         4            1
1         7            3
2         4            2
3         2            7
3         1            2

现在,我想使用df.sample(n)随机选择此DataFrame的20%行,并将这些行的Quantity列的值更改为零.我还想保留更改行的索引.因此生成的DataFrame将是:

UserId    ProductId    Quantity
1         1            6
1         4            1
1         7            3
2         4            0
3         2            7
3         1            0

我想在列表中保留第3行和第5行的更改.我怎样才能做到这一点?

解决方法:

通过使用update

dfupdate=df.sample(2)
dfupdate.Quantity=0
df.update(dfupdate)
update_list = dfupdate.index.tolist() # from  cᴏʟᴅsᴘᴇᴇᴅ  :)
df
Out[44]: 
   UserId  ProductId  Quantity
0     1.0        1.0       6.0
1     1.0        4.0       0.0
2     1.0        7.0       3.0
3     2.0        4.0       0.0
4     3.0        2.0       7.0
5     3.0        1.0       2.0

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

相关推荐