2
我有一種感覺,有一種簡單的方法來做到這一點...我有一個數據幀如下:蟒蛇+數據幀+數項基於布爾
df1 =
Index A B C
0 5 7 11
1 10 7 11
我想圖如何:
df1['Index'==1][<10].count()
即,對於指數= 1,返回的值的數量< 10(所以應該返回1)
謝謝!
我有一種感覺,有一種簡單的方法來做到這一點...我有一個數據幀如下:蟒蛇+數據幀+數項基於布爾
df1 =
Index A B C
0 5 7 11
1 10 7 11
我想圖如何:
df1['Index'==1][<10].count()
即,對於指數= 1,返回的值的數量< 10(所以應該返回1)
謝謝!
你可以使用DF.query()
如下選擇:(假設你要查詢可以複製的指數軸)
df1.query("Index == 1").lt(10).sum(1) # assuming the index name as "Index"
Out[56]:
Index
1 1
dtype: int64
這是.loc
相當於語法:
df1.loc[df1.index==1].lt(10).sum(1)
Out[58]:
Index
1 1
dtype: int64
爲此,您可以使用.loc
,您當前的索引嘗試有點難以理解。
In[32]: df.loc[1].lt(10).sum()
Out[32]: 1
感謝爲了這。你介意解釋lt部分嗎?起初我認爲它的意思是「不到」,但看起來不像。 – keynesiancross
它確實通過創建布爾邏輯來檢查小於條件,其中'True'表示成功並且'False'失敗。這些'bools'然後可以被相加,因爲它們分別象徵'int'1&0。特別是在'Pandas'和'NumPy'中,涉及('<','==','>'等)的比較返回一個布爾掩碼作爲輸出。 –