我有一个这样的数据框,
ID Cus_ID cl_id
0 5.0 200 0
1 NaN 200 0
2 NaN 200 1
3 14.0 200 2
4 15.0 200 2
5 16.0 200 2
6 NaN 200 3
Run Code Online (Sandbox Code Playgroud)
从上面的数据框中,我想提取第0至4行,并检查“ ID”列中是否有任何NaN值。我试过了
rows_needed = [0,1,2,3,4]
df.iloc[rows_needed,0].isnull().index.tolist()
Run Code Online (Sandbox Code Playgroud)
但是我得到以下内容
[0, 1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
我期望得到的索引[1,2]。如何获得所需的输出?
当我这样做时
df.iloc[rows_needed,0].isnull()
Run Code Online (Sandbox Code Playgroud)
我明白了
0 False
1 True
2 True
3 False
4 False
Name: ID, dtype: bool
Run Code Online (Sandbox Code Playgroud)
不知道我在哪里犯了错误,没有得到我的输出。
您非常非常接近,您需要做的是连锁经营.iloc,.loc并==TRUE取得成果
your_indices = (df.iloc[rows_needed]
.loc[df.ID.isnull()==True]
.index.tolist())
print(your_indices)
[1, 2]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |