我是Pandas的新手,我遇到了一些麻烦。基本上我正在尝试实现SQL查询
select count(fraud),state
from table
where fraud='REJECT'
group by state
我有以下python代码
df.groupby('State').size()
但是,这并不仅限于欺诈=='拒绝'。我试过了
fraud=df['fraud']=='REJECT'
fraud.groupby('State').size()
然而,这会为“状态”创建关键错误。所以我认为归结为我不知道如何在Pandas中实现SQL'where'。有人可以帮我吗?感谢
答案 0 :(得分:3)
你可以这样做:
df[df['fraud'] == 'REJECT'].groupby('State').size()
示例:
>>> df = pd.DataFrame({'fraud':['REJECT', 'ACCEPT', 'REJECT', 'REJECT'], 'State':['AZ', 'AZ', 'TX', 'TX']})
>>> df[df['fraud'] == 'REJECT'].groupby('State').size()
State
AZ 1
TX 2
dtype: int64