python - Pandas 数据框记录过滤符号是如何实现的?

标签 python pandas dataframe

我正在学习 Pandas 教程,并且看到如下代码:

from pandas import read_csv
dataset = read_csv('customers.csv')

# remove customers older than 95
dataset = dataset[dataset.age < 95]

我想知道这个操作是什么,以及它在Python中是如何实现的?看起来数据框可以接受 dict 表示法(dataset['age'])以及这个表示法。

最佳答案

基本上,dataset.age < 95将产生 Seriesdataset 的索引这些值将是与该索引关联的值与 < 95 相比的结果。如果您使用此结果在数据框中选择某些内容,它将返回系列中索引具有值 True 的行。 .

例如:

In [1]: df = pd.DataFrame({'a': list(range(5)), 'b': list(range(5, 10))})

In [2]: df
Out[2]: 
   a  b
0  0  5
1  1  6
2  2  7
3  3  8
4  4  9

In [3]: type(df.a < 3)
Out[3]: pandas.core.series.Series

In [4]: df.a < 3
Out[4]: 
0     True
1     True
2     True
3    False
4    False
Name: a, dtype: bool

两种符号df.column_namedf['column_name']有效且等效,但无法使用,例如 df.column name在这种情况下使用 df['column name'] 。一般来说,df.column_name可以在 column_name 时使用是一个有效的标识符,并且它不会与为 type(df) 定义的任何方法或字段同名。 .

关于python - Pandas 数据框记录过滤符号是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45617742/

相关文章:

python - 定义要在 Scatter.plot 中调用的函数

python - 对二维 numpy 数组的相邻相等元素进行分组

python - 从字典调用函数时出错

python - 如何使用 to_html 将 CSS 类(我的风格)应用到 Pandas DataFrame

python - Pandas DataFrame 按分类列排序,但按特定类排序

python - Pandas:为列的每个实例创建具有二进制值的数据框

python - 改善 Pandas 的设置值

python - 具有亚秒级(例如毫秒)分辨率的 to_datetime

python - 更改不同虚拟值的散点图中点的颜色

python - 在 Pandas 的单元格中添加值