我有一个数据帧,第一行只有0作为值。 我想删除那些行。你知道吗
所以,表示df my dataframe和['a','b','c']它的列。我尝试了以下代码。你知道吗
df[(df[['a', 'b', 'c']] != 0).all(axis=1)]
但它也会改变以下数据帧:
a b c
0 0 0
0 0 0
1 0 0
0 0 0
2 3 5
4 5 6
0 0 0
1 1 1
在这个问题上:
a b c
1 0 0
2 3 5
4 5 6
1 1 1
那不是我想要的。我只想把注意力集中在领先的几行上。所以,我想:
a b c
1 0 0
0 0 0
2 3 5
4 5 6
0 0 0
1 1 1
如果能有一个简单而有效的解决方案来使用pandas函数,那就太好了。谢谢
如果数据中的所有
0
行都可用的一般解决方案-首先使用cummsum
求和,然后测试每行的任何True
:如果数据中至少有一个非} 获取非
0
行,则解决方案-使用^{0
行的第一个值:下面是一个示例,它找到第一行不是全零,然后从该点开始选择all。应该解决您描述的问题:
相关问题 更多 >
编程相关推荐