首页 文章资讯内容详情

Python Pandas - 当多索引中的任何级别为 NaN 时删除该值

2026-06-03 1 花语

要在多索引中的任何级别为NaN时删除该值,请使用该方法。使用值any设置参数howmultiIndex.dropna()

首先,导入所需的库——

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()也会删除所有值。的“how”参数dropna()与值“any”一起使用-

print("\nDropping the value when any level is NaN...\n",multiIndex.dropna(how=any))

示例

以下是代码-

import pandas as pd import numpy as np #Createamulti-indexwithsomeNaNvalues #Thenamesparametersetsthenamesforthelevelsintheindex multiIndex = pd.MultiIndex.from_arrays([[5, 10], [np.nan, 20], [25, np.nan], [35, 40]],names=[a, b, c, d]) #displaythemulti-index print("Multi-index...\n", multiIndex) #DropthevaluewhenanylevelisNaNinaMulti-index #EvenwithasingleNaNvalue,thedropna()willdropallthevalues # The "how" parameter of the dropna() is used with the value "any" for this print("\nDropping the value when any level is NaN...\n",multiIndex.dropna(how=any))输出结果

这将产生以下输出-

Multi-index... MultiIndex([( 5, nan, 25.0, 35),(10, 20.0, nan, 40)],names=[a, b, c, d]) Dropping the value when any level is NaN... MultiIndex([], names=[a, b, c, d])