2016-10-01 217 views
2

一個tuplelist選擇行我有元組的列表,如下面蟒:在大熊貓

Index  Value 
    0   (1,2,3) 
    1   (2,5,4) 
    2   (3,3,3) 

如何可以選擇從該行中,所述第二值小於或等於2?

編輯:

基本上,該數據是在[(1,2,3), (2,5,4), (3,3,3)....]

回答

2

形式你可以通過使用apply切片tuple

df[df['Value'].apply(lambda x: x[1] <= 2)] 

Image


看來,這是一個元組列表,而不是一個DF

要返回list回:

data = [item for item in [(1,2,3), (2,5,4), (3,3,3)] if item[1] <= 2] 
# [(1, 2, 3)] 

要返回series代替:

pd.Series(data) 
#0 (1, 2, 3) 
#dtype: object 
+0

我得到這個錯誤:「列表索引必須是整數或切片,而不是str」。 – user36729

+0

您可以通過編輯帖子向我展示數據框的構建方式嗎? –

+0

我還沒有將我的元組更改爲數據框。我認爲我可以直接從tuplelist中選擇行。 – user36729

0

只是把它放在那裏。您應該閱讀mcve。你的問題是/令人困惑,因爲它看起來好像你有兩個很好的答案,你不滿意。那麼你編輯你的問題就會變得更清晰,但幾乎沒有。

好吧,現在我已將我的社論排除在外了。


設置
這就是我假設我與

# list of tuples 
lot = [(1, 2, 3), (2, 5, 4), (3, 3, 3)] 

所需的輸出工作
我想。順便說一句,沒時間跟大熊貓做所有

[(a, b, c) for a, b, c in lot if b <= 2] 

[(1, 2, 3)] 

與大熊貓
不過,既然你做了標記這個大熊貓

s = pd.Series(lot) 

@ TrigonaMinima的回答,給他們的信用,如果這個工程的您。

s[s.str[1].le(2)] 

0 (1, 2, 3) 
dtype: object