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


若要删除多级索引中值,当所有级别都是 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 时,删除值。如果 dropna() 的“how”参数设置为“all”,则所有 NaN 值将被 dropna() 删除 −

print("\nDropping the values when all levels are NaN...\n",multiIndex.dropna(how='all'))

实例

代码如下 −

import pandas as pd
import numpy as np

# Create a multi-index with all NaN values
# The names parameter sets the names for the levels in the index
multiIndex = pd.MultiIndex.from_arrays([[np.nan, np.nan], [np.nan, np.nan]],
names=['a', 'b'])

# display the multi-index
print("Multi-index...\n", multiIndex)

# Drop the value when all levels iareNaN in a Multi-index
# With all NaN values, the dropna() will drop all the values, if the
# "how" parameter of the dropna() is set "all"
print("\nDropping the values when all levels are NaN...\n",multiIndex.dropna(how='all'))

输出

将产生以下输出 −

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

Dropping the values when all levels are NaN...
MultiIndex([], names=['a', 'b'])

更新于: 13-Oct-2021

877 人查看

开启你的 职业

通过完成课程获取认证

立即开始
广告
© . All rights reserved.