pandas行查找,要查找的是一个列表,找不到的用NA表示
时间: 2024-04-08 18:29:06 浏览: 132
pandas 转换成行列表进行读取与Nan处理的方法
在 Pandas 中,如果要根据一个列表中的值进行行查找,并将找不到的结果用 NA 表示,可以使用 `isin()` 方法和布尔索引来实现。
以下是一个示例代码:
```python
import pandas as pd
import numpy as np
# 创建一个示例 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Paris', 'London']}
df = pd.DataFrame(data)
# 要查找的值列表
names_to_find = ['Alice', 'David', 'Bob']
# 利用 isin() 方法进行查找,并将找不到的结果用 NA 表示
df.loc[~df['Name'].isin(names_to_find)] = np.nan
print(df)
```
输出结果如下:
```
Name Age City
0 Alice 25.0 New York
1 Bob 30.0 Paris
2 NaN NaN NaN
```
在这个示例中,我们要查找 Name 列中在列表 `names_to_find` 中出现的值,并将找不到的结果用 NA 表示。在数据中,'Alice' 和 'Bob' 出现在列表中,所以它们的行保持不变。而 'Charlie' 不在列表中,所以相应的行被替换为 NA。
阅读全文