在Python中删除列表中的`nan`值,你可以使用以下几种方法:
1. 使用列表推导式:
```python
import math
my_list = [1, 2, 3, float('nan'), 5, 6, float('nan')]
filtered_list = [x for x in my_list if not math.isnan(x)]
print(filtered_list) 输出: [1, 2, 3, 5, 6]
2. 使用`pandas`库中的`dropna()`函数:
```python
import pandas as pd
my_list = [1, 2, 3, float('nan'), 5, 6, float('nan')]
df = pd.DataFrame({'values': my_list})
filtered_df = df.dropna()
filtered_list = filtered_df['values']
print(filtered_list) 输出: [1, 2, 3, 5, 6]
3. 使用`numpy`库中的`isnan()`函数:
```python
import numpy as np
my_list = [1, 2, 3, np.nan, 5, 6, np.nan]
filtered_list = [x for x in my_list if not np.isnan(x)]
print(filtered_list) 输出: [1, 2, 3, 5, 6]
4. 使用`pandas`库中的`dropna()`方法删除包含`NaN`的行或列:
```python
import pandas as pd
my_list = [1, 2, 3, None, 4, 5] 假设这是包含 NaN 的列表
df = pd.DataFrame(my_list, columns=['values'])
filtered_df = df.dropna()
filtered_list = filtered_df['values']
print(filtered_list) 输出: [1, 2, 3, 4, 5]
选择适合你需求的方法来删除列表中的`nan`值