如何从给定特定元素的数据帧中获取特定的列键?

2024-04-23 15:34:54 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑数据帧

   c1   c2   c3  
0 a 3    4    2  
1 b 1    2    7  

假设我想知道第1行的哪一列有元素7。我将如何实现它? 我正试图用熊猫来实现它。你知道吗


Tags: 数据元素c2c1c3正试图
2条回答

我不确定你想要什么样的输出,但我相信这会有所帮助。我从创建数据帧开始。你知道吗

df = pd.DataFrame({'c1':['3', '1'],
                   'c2':['4', '2'],
                   'c3':['2', '7']})

下面的代码是这样读的:给我列'c3'等于7的所有记录。你知道吗

df = df[df['c3'] == '7']

输出:

enter image description here

如果要获取索引为1的行中第一个值的列:

a = df.loc[1].eq(7).idxmax()
print (a)
c3

说明:

首先选择索引为loc的列:

print (df.loc[1])
c1    4
c2    2
c3    7
Name: (1, b), dtype: int64

7比较:

print (df.loc[1].eq(7))
c1    False
c2    False
c3     True
Name: (1, b), dtype: bool

对于c3得到最大值的索引,它意味着第一个True。你知道吗

如果行包含多个值(这里是7)并且需要所有匹配的列,请使用^{}

a = df.loc[1].eq(7)
a = a.index[a].tolist()

相关问题 更多 >