gpt4 book ai didi

python - 获取 Pandas 中 boolean 值的索引 - python

转载 作者:行者123 更新时间:2023-11-28 21:06:08 26 4
gpt4 key购买 nike

a=pd.DataFrame({'a1':[1,2,3,4],'a2':[5,6,7,8]})
c=pd.DataFrame({'c1':[True,False,True,True],'c2':[True,False,False,True]})

如何获取 a1a2 列中元素的索引,这些元素在 c1 列中为 True > 和 c2 分别是?

a1 的索引应该是[0,2,3]a2 的索引应该是[0,3] 。结果可能是一个索引列表,如 [[0,2,3],[0,3]]

最佳答案

我想你需要where :

c.columns = a.columns
df1 = a.where(c)
idx = [df1[x].dropna().index.tolist() for x in df1]
print (idx)
[[0, 2, 3], [0, 3]]

另一种解决方案:

c.columns = a.columns
idx = list(a.where(c).stack().reset_index()
.groupby('level_1')['level_0'].apply(list))
print (idx)
[[0, 2, 3], [0, 3]]

关于python - 获取 Pandas 中 boolean 值的索引 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43144027/

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