我正在学习 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
将产生 Series
与 dataset
的索引这些值将是与该索引关联的值与 < 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_name
和df['column_name']
有效且等效,但无法使用,例如 df.column name
在这种情况下使用 df['column name']
。一般来说,df.column_name
可以在 column_name
时使用是一个有效的标识符,并且它不会与为 type(df)
定义的任何方法或字段同名。 .
关于python - Pandas 数据框记录过滤符号是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45617742/