Pandas DataFrame:如何删除所有列和行的和为0 |
您所在的位置:网站首页 › python删除全为0的行 › Pandas DataFrame:如何删除所有列和行的和为0 |
Pandas DataFrame:如何删除所有列和行的和为0
在本文中,我们将介绍如何使用Pandas DataFrame删除所有列和行的和为0。如果您正在处理一个数据集,它包含许多列和行,而您只对非0值感兴趣,那么此任务就会变得更加重要。 假设我们有以下示例DataFrame: import pandas as pd data = {'A': [1, 2, 3, 0], 'B': [0, 0, 0, 0], 'C': [4, 0, 1, -7], 'D': [0, 0, 0, 0]} df = pd.DataFrame(data) print(df)输出结果为: A B C D 0 1 0 4 0 1 2 0 0 0 2 3 0 1 0 3 0 0 -7 0阅读更多:Pandas 教程 删除和为0的列要删除和为0的列,我们需要使用DataFrame的loc[]方法和sum()方法。以下是实现方法: df = df.loc[:, (df != 0).any(axis=0)] print(df)在上面的代码中,我们使用了loc[]方法和sum()方法,其中: loc[]方法用于选择所有行和包含任何非0值的列; sum()方法返回该DataFrame每列的和; any(axis=0)参数用于指定将计算任何列轴上的任何非0值的逻辑值。输出结果为: A C 0 1 4 1 2 0 2 3 1 3 0 -7我们可以看到,只有包含非0值的列’A’和’C’被保留下来了。 删除和为0的行要删除和为0的行,我们需要使用DataFrame的loc[]方法和sum()方法。以下是实现方法: df = df.loc[(df != 0).any(axis=1), :] print(df)在上面的代码中,我们使用了loc[]方法和sum()方法,其中: loc[]方法用于选择所有包含非0值的行和所有列; sum()方法返回该DataFrame每行的和; any(axis=1)参数用于指定将计算任何行轴上的任何非0值的逻辑值。输出结果为: A B C D 0 1 0 4 0 1 2 0 0 0 2 3 0 1 0 3 0 0 -7 0我们可以看到,只有包含非0值的行被保留下来了。 总结在本文中,我们介绍了如何使用Pandas DataFrame在Python中删除和为0的列和行。我们使用loc[]方法,sum()方法和any()方法来解决这个问题。如果您熟悉这些方法,那么删除和为0的列和行将变得非常简单。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |