Python Pandas - 当多索引中的所有级别均为 NaN 时删除值

pythonserver side programmingprogramming更新于 2025/12/29 18:52:17

要当多索引中的所有级别均为 NaN 时删除值,请使用 multiIndex.dropna() 方法。将参数 how 设置为值 all。

首先,导入所需的库 -

import pandas as pd
import numpy as np

创建一个包含所有 NaN 值的多索引。 names 参数设置索引中级别的名称 −

multiIndex = pd.MultiIndex.from_arrays([[np.nan, np.nan], [np.nan, np.nan]],
names=['a', 'b'])

当多索引中的所有级别都是 NaN 时,删除该值。对于所有 NaN 值,如果 dropna() 的 "how" 参数设置为 "all",dropna() 将删除所有值−

print("\n当所有级别都是 NaN 时删除值...\n",multiIndex.dropna(how='all'))

示例

以下是代码 −

import pandas as pd
import numpy as np

# 创建一个包含所有 NaN 值的多索引
# names 参数设置索引中级别的名称
multiIndex = pd.MultiIndex.from_arrays([[np.nan, np.nan], [np.nan, np.nan]],
names=['a', 'b'])

# display多索引
print("Multi-index...\n", multiIndex)

# 多索引中所有层级均为 NaN 时删除值
# 如果 dropna() 的 "how" 参数设置为 "all",则 dropna() 将删除所有 NaN 值
print("\n当所有层级均为 NaN 时删除值...\n",multiIndex.dropna(how='all'))

输出

将产生以下输出 −

Multi-index...
MultiIndex([(nan, nan),(nan, nan)],names=['a', 'b'])

当所有层级均为 NaN 时删除值...
MultiIndex([], names=['a', 'b'])

相关文章


有用资源