filt=(~df['Age'].isnull())
df=df.loc[filt,:]
print(df)
程序之所以知道 filt
中的每个元素对应 df
中的每一行,是因为 pandas
库设计时就考虑到了这种需求,并在实现中做了对应的处理。具体来说,pandas
的 DataFrame
和 Series
对象在进行布尔索引时,会对齐索引(index),确保布尔序列正确地应用到数据框的行或列上。
工作原理
-
索引对齐:
pandas
使用索引(index)来对齐DataFrame
和Series
。当你对DataFrame
进行布尔索引时,pandas
会自动根据索引对齐布尔序列和数据框的行。
-
长度匹配:
- 在进行布尔索引时,
pandas
要求布尔序列的长度与数据框的行数相同。这样,每个布尔值就可以对应数据框中的一行。
- 在进行布尔索引时,
示例解析
假设你有一个 DataFrame
df
和一个布尔序列 filt
,它们的索引和长度如下:
import pandas a