清除list中的nan
时间: 2023-03-31 15:01:05 浏览: 90
如果你想在 Python 中清除列表中的 nan 值,你可以使用列表推导式来过滤掉这些 nan 值。例如:
```
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]
```
或者,你也可以使用内置的 isnan() 函数来过滤掉 nan 值:
```
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]
```
你还可以使用 pandas 库中的 dropna() 函数来清除 nan 值。例如:
```
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'].tolist()
print(filtered_list) # [1, 2, 3, 5, 6]
```
注意,在上述代码中,我们将列表转换成了 Pandas 的 DataFrame,然后使用 dropna() 函数删除了 nan 值,最后再将清除后的 DataFrame 转换回列表。
阅读全文