在0.24.1
上,给出:
toy = pd.DataFrame({'g': [1,1,1,2,2,3,3], 'val': [0,2,3,4,5,6,0]})
toy
g val
0 1 0
1 1 2
2 1 3
3 2 4
4 2 5
5 3 6
6 3 0
我要删除整个组,其中该组的v
列包含零。换句话说,在咒语(最好包含inplace=True
以保留我的数据转换管道)之后,我希望toy
为:
g val
3 2 4
4 2 5
答案 0 :(得分:3)
使用filter
toy.groupby('g').filter(lambda x : all(x['val']!=0))
Out[58]:
g val
3 2 4
4 2 5
答案 1 :(得分:3)
或者您也可以这样做:
<table>
<thead>
<tr>
<th></th>
@foreach($officers as $week => $roll)
<th>Week {{$week}}</th>
@endforeach
<th>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Officers</td>
@foreach($officers as $week => $roll)
<td>{{$roll->sum()}}</td>
@endforeach
<td>{{$officers->sum(function ($week) { return $week->count(); })}}</td>
</tr>
</tbody>
答案 2 :(得分:3)
这有效:
toy.loc[toy.groupby('g').transform(np.prod).query('val !=0').index, :]