2017-08-10 55 views
1

我正在通過熊貓教程,和我看到類似的代碼:Pandas數據框記錄過濾符號如何實現?

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

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

我不知道這個操作是什麼,以及它如何在Python實現的?它看起來像數據框可以接受字典符號(dataset['age']),以及這個符號。

回答

1

基本上,dataset.age < 95會產生與dataset的索引一個Series並且這些值將是具有相比< 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。通常,當column_name是一個有效的標識符時,可以使用df.column_name,它不會與type(df)中定義的任何方法或字段具有相同的名稱。