2016-11-30 29 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

相关问题