2016-11-15 61 views
0

獲得從熊貓數據框中值我想通過一個條件得到一個元素了數據幀的,就像這樣:Python的 - 通過索引條件

elem = df[(df['id']==enum['properties']['property2']) & (df['time']==10)].col3 

因爲它是不可能的Python知道這是否會返回只有一個或一堆行,它返回這個爲

6244 52.45 
Name: col3, dtype: float64 

但我知道只會有這樣的一個元素。如何使elem只包含52.45

編輯

由朱利安Marrec答案工作正常,在一個單一的線,但不是在下面的循環:

for enum in data['features']: 
    elem = df[(df['id']==enum['properties']['property2']) & (df['time']==10)].col3.values[0] 

它給了我一個IndexError: index 0 is out of bounds for axis 0 with size 0.

+0

如果你是標量值後,然後'elem.values [0] '會給你那個或者只是'elem [0]' – EdChum

回答

1

你可以這樣做快速入門:

elem.values[0] 

更新:編輯你的問題後,你需要測試,如果確實有返回,或者如果該系列是空的元素:

for enum in data['features']: 
    elem = df[(df['id']==enum['properties']['property2']) & (df['time']==10)].col3 
    if len(elem) == 1: 
     return elem.values[0] 
+0

謝謝,這個工程作爲一個單一的行,但不是在一個循環中。我會編輯這個問題! –

+0

更新了問題。 –