2016-11-30 24 views
1

我在我的熊貓數據框中有一個表。 DF從現有的數據框中選擇特定的行來創建新的數據框python

id count price 
1 2  100 
2 7  25 
3 3  720 
4 7  221 
5 8  212 
6 2  200 

我想創建從該新的數據幀(DF2),選擇行,其中計數是2和價格是100,並且計數是7和價格是221

我的輸出應爲DF2 =

id count price 
1 2  100 
4 7  221 

我使用df[df['count'] == '2' & df['price'] == '100']

,但得到的錯誤

嘗試
+0

這是一個經典:'df [(df ['count'] =='2')&(df ['價格'] =='100')]'。 – IanS

回答

3

您NEDD添加()因爲&的優先級高於==

df3 = df[(df['count'] == '2') & (df['price'] == '100')] 
print (df3) 
    id count price 
0 1  2 100 

如果需要檢查多個值使用isin

df4 = df[(df['count'].isin(['2','7'])) & (df['price'].isin(['100', '221']))] 
print (df4) 
    id count price 
0 1  2 100 
3 4  7 221 

但是,如果檢查數字,用途:

df3 = df[(df['count'] == 2) & (df['price'] == 100)] 
print (df3) 

df4 = df[(df['count'].isin([2,7])) & (df['price'].isin([100, 221]))] 
print (df4) 
+0

但我如何在1個DF中加入兩個結果?我想爲我的兩行創建兩個不同的數據框,然後追加它們? 有沒有其他方法可以做到這一點? – Shubham

+0

你認爲分配給'df3'還是'df4'? – jezrael

+0

df4正常工作! – Shubham

相關問題