【发布时间】:2020-12-01 07:13:59
【问题描述】:
我在 Python 中有以下 Pandas DataFrame:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.array([[1, 2, 3, 4, 5, 6], [11, 22, 33, 44, 55, 66],
[111, 222, 0, 0, 0, 0], [1111, 0, 0, 0, 0, 0]]),
columns=['a', 'b', 'c', 'd', 'e', 'f'])
DataFrame 在表格中如下所示:
a b c d e f
0 1 2 3 4 5 6
1 11 22 33 44 55 66
2 111 222 0 0 0 0
3 1111 2222 0 0 0 0
原来的 DataFrame 比这个大得多。正如所见,某些行在某些列中的值为零(c、d、e、f)。
我需要从 DataFrame 中删除这些列,以便我的新 DataFrame 如下所示(在删除给定列仅为零的行之后):
a b c d e f
0 1 2 3 4 5 6
1 11 22 33 44 55 66
我只需要删除所有这些列(c、d、e 和 f)都为零的行。例如,如果其中 2 个为 0,那么我不会删除这些行。
有没有一种不循环DataFrame的好方法来做这个操作?
【问题讨论】:
标签: python python-3.x pandas dataframe