【问题标题】:How do I filter a Panda dataframe based on a simple criteria in Python?如何根据 Python 中的简单条件过滤 Pandas 数据框?
【发布时间】:2016-05-13 07:06:38
【问题描述】:

简单的问题!

我有一个 Panda 数据框。

如何创建一个新数组(数据帧、numpy 数组或列表),以选择原始数据帧上第一列值为“0”的所有数据。

例如,如果我有:

0, 10, 15
0, 5, 16
2, 5, 9
1, 2, 2

我将有一个新的过滤列表:

0, 10, 15
0, 5, 16 

【问题讨论】:

  • 我不确定面具是什么

标签: python arrays list numpy pandas


【解决方案1】:
import pandas as pd

df = pd.DataFrame({'a': [0, 0, 2, 1], 'b': [10, 5, 5, 2], 'c': [15, 16, 92, 2]})
zero_rows = df[df.iloc[:, 0] == 0]

改为按列名索引:

zero_rows = df[df['a'] == 0]

【讨论】:

  • 列索引未命名!它们是从 CSV 导入的,并通过索引号访问
【解决方案2】:

只要使用列的索引,像这样:

In [3]: df = DataFrame([[0,1,2], [0,2,3], [1,2,3]])

In [4]: df
Out[4]:
   0  1  2
0  0  1  2
1  0  2  3
2  1  2  3

In [5]: df[0]
Out[5]:
0    0
1    0
2    1
Name: 0, dtype: int64

In [6]: df[df[0]==0]
Out[6]:
   0  1  2
0  0  1  2
1  0  2  3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-29
    • 1970-01-01
    • 2017-12-15
    • 2023-02-22
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多