Python Pandas - 当多索引中的任何级别为 NaN 时删除值
pythonserver side programmingprogramming更新于 2025/12/29 18:20:17
要当多索引中的任何级别为 NaN 时删除值,请使用 multiIndex.dropna() 方法。将参数 how 设置为值 any。
首先,导入所需的库 -
import pandas as pd import numpy as np
创建一个包含一些 NaN 值的多索引。 names 参数设置索引中级别的名称 −
multiIndex = pd.MultiIndex.from_arrays([[5, 10], [np.nan, 20], [25, np.nan], [35, 40]],names=['a', 'b', 'c', 'd'])
当多索引中的任何级别为 NaN 时,删除该值。即使只有一个 NaN 值,dropna() 也会删除所有值。dropna() 的"how"参数与值"any"一起使用for this −
print("\nDropping the value when any level is NaN...\n",multiIndex.dropna(how='any'))
示例
以下是代码 −
import pandas as pd
import numpy as np
# 创建一个包含一些 NaN 值的多索引
# names 参数设置索引中各级别的名称
multiIndex = pd.MultiIndex.from_arrays([[5, 10], [np.nan, 20], [25, np.nan], [35, 40]],names=['a', 'b', 'c', 'd'])
# 显示多索引
print("Multi-index...\n", multiIndex)
# 当多索引中的任何级别为 NaN 时删除值
# 即使只有一个 NaN 值,dropna() 也会删除所有值
# dropna() 的 "how" 参数与值 "any" 一起使用
print("\n当任何级别为 NaN 时删除该值...\n",multiIndex.dropna(how='any'))
输出
这将产生以下输出 −
Multi-index... MultiIndex([( 5, nan, 25.0, 35),(10, 20.0, nan, 40)],names=['a', 'b', 'c', 'd']) 当任何级别为 NaN 时删除该值... MultiIndex([], names=['a', 'b', 'c', 'd'])
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

