gpt4 book ai didi

python - 如何获取为1的列的id

转载 作者:行者123 更新时间:2023-12-01 01:00:04 24 4
gpt4 key购买 nike

我有两列,我想做两件事。获取为 1 的行的 id 也意味着 True,并获取列 goal 和 prof 为 1 的行的 id。

Ids   prof    goal
1 1 1
2 0 1
3 0 0
4 1 1

我想要这样的东西。首先获取 prof 为 1 的所有 Id。第二个任务是获取 prof 和 goal 为 1 的 id。

尝试过:

df.groupby(['prof','goal']).size() 

不知道如何通过这个获取他们的 ID。

最佳答案

如果数据中只有 10 值,则创建转换为 bool 值的 bool 掩码:

m1 = df['prof'].astype(bool)
m2 = df['goal'].astype(bool)

或者按1比较:

m1 = df['prof'] == 1
m2 = df['goal'] == 1

m3 = df[['prof','goal']].all(axis=1)

并按 boolean indexing 进行过滤与 DataFrame.loc如果 Ids 是列:

a = df.loc[m1, 'Ids']

b = df.loc[m1 & m2, 'Ids']

b = df.loc[m3, 'Ids']

如果Ids是索引:

a = df.index[m1]

b = df.index[m1 & m2]

b = df.index[m3]

较慢的替代方案是过滤 index after:

a = df[m1].index

b = df[m1 & m2].index

b = df[m3].index

关于python - 如何获取为1的列的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55878601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com