首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用.loc函数选择一组数据栏

如何使用.loc函数选择一组数据栏
EN

Stack Overflow用户
提问于 2022-09-29 10:55:57
回答 1查看 30关注 0票数 0

我有一个包含多行和多列的dataframe。我只有一个性别。它被介于0- 2之间的值所占据。我还有另一个值。名为“忽略”,值为true或false。

我只想选择50%的性别比例。值为2,而这些值应该更改相应的忽略col。对真有价值。

现在我有了.loc函数来查找值为2的所有性别,然后他们将忽略值更改为True。但是,我如何才能改进.loc功能,使其只改变#2性别值的50%,而不是所有的#2?

我应该用一个.group_by或其他东西来分割df吗?

代码语言:javascript
代码运行次数:0
运行
复制
df.loc[(df['gender'] == 2), 'ignore'] = True
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-29 11:02:06

一种选择是:

代码语言:javascript
代码运行次数:0
运行
复制
import pandas as pd
import numpy as np

N = 100
d = pd.DataFrame({'gender': np.random.choice(range(3), N),
                  'ignore': np.random.choice([True, False], N)})

d.query('gender == 2').sample(frac = 0.5).assign(ignore = True)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73894358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档