簡體   English   中英

如何從給定特定元素的數據框中獲取特定的列鍵?

[英]How to get specific column key from data frame given a particular element?

考慮數據幀

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

說我想知道第1行中的哪一列具有元素7。我將如何實現它? 我正在嘗試使用熊貓來實現它。

如果要獲取索引為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

如果row包含多個值(此處為7),並且需要所有匹配的列,請使用boolean indexing

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

不確定您要查找的輸出是什么,但是我相信這會有所幫助。 我首先創建您的數據框。

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

下面的代碼是這樣的:給我所有“ c3”列等於7的記錄。

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

輸出:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM