我有一个有很多0的数据帧,如下面的df示例.我想删除三列或更多列中包含0的任何行,如下面的示例Resultdf.
下面的脚本将删除所有0的记录
df = df[(df.T != 0).any()]
Run Code Online (Sandbox Code Playgroud)
有没有办法修改它所以它会丢弃全部为0的记录,或者有三个或更多列为0的记录?或者还有另一种方法吗?
打印df:
ind_key prtCnt fldCnt TmCnt bmCnt
1 0 0 0 0
2 2 0 0 3
3 0 1 0 0
4 0 1 1 0
Run Code Online (Sandbox Code Playgroud)
打印Resultdf:
ind_key prtCnt fldCnt TmCnt bmCnt
2 2 0 0 3
4 0 1 1 0
Run Code Online (Sandbox Code Playgroud)
你可以用sum与axis = 1
df[df.eq(0).sum(1)<3] # eq mean '=='
Out[523]:
ind_key prtCnt fldCnt TmCnt bmCnt
1 2 2 0 0 3
3 4 0 1 1 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |