在与此类似的设置中:
>>> import pandas as pd
>>> from random import randint
>>> df = pd.DataFrame({'A': [randint(1, 9) for x in range(10)],
'B': [randint(1, 9)*10 for x in range(10)],
'C': [randint(1, 9)*100 for x in range(10)]})
>>> df
A B C
0 9 80 900
1 9 70 700
2 5 70 900
3 8 80 900
4 7 50 200
5 9 30 900
6 2 80 900
7 2 80 400
8 5 80 300
9 7 80 900
我的问题是如何获得dataframe中其他指定行(例如索引为3的行)的某组列(例如{b,c})上具有相同值的所有行
我想要这个(索引3,集合{b,c}):
A B C
0 9 80 900
3 8 80 900 # this is the rows specified
6 2 80 900
9 7 80 900
现在的问题是,在我的例子中,我的一组列({b,c})由200多列组成,我找不到生成如此长的条件的方法。对于该问题,可以假设列的枚举范围为0到n。
1条答案
按热度按时间tez616oj1#
可以将列子集作为列表,并使用
.loc
访问器,然后检查等式并调用all
对于axis=1
,最后获取此掩蔽的结果 Dataframe 。输出: