我想过滤我的数据帧,使用带有条件的filter
部分。我不知道怎么做
import numpy as np
table = pd.DataFrame({'movie': ['thg', 'thg', 'mol', 'mol', 'lob', 'lob'],
'rating': [3., 4., 5., np.nan, np.nan, np.nan],
'name': ['John', 'Paul', 'Adam', 'Graham', 'Eva', 'Thomas']})
filter = pd.DataFrame({'name': ['John', 'Paul','Adam', 'Graham', 'Eva', 'Thomas'],
'qty': [1, 1, 3, 10, 7, 5]})
>>> table
movie name rating
0 thg John 3
1 thg Paul 4
3 mol Adam 5
4 mol Graham NaN
5 lob Eva NaN
6 lob Thomas NaN
我知道这不管用,但我不能改变,请帮帮我
result=df[(df['name'] == filter[qty<3]) ]
>>> result
movie name rating
0 thg John 3
1 thg Paul 4
你可以试试。我之所以取消删除此答案,是因为没有使用
loc
与其他答案不同,尽管它本质上是相同的:将^{} 与^{} 一起使用:
或^{}
我相信你需要:
注意:我已经将
filter
变量更改为filt
,因为filter
是一个内置函数,您不应该用这样的名称命名变量相关问题 更多 >
编程相关推荐