在Python中删除列表中的`nan`值,你可以使用以下几种方法:
1. 使用列表推导式:
import mathmy_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()`函数:
import pandas as pdmy_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()`函数:
import numpy as npmy_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`的行或列:
import pandas as pdmy_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`值
