Computer >> Máy Tính >  >> Lập trình >> Python

Python Pandas - Giảm giá trị khi bất kỳ cấp nào là NaN trong Đa chỉ mục

Để giảm giá trị khi bất kỳ cấp nào là NaN trong Đa chỉ mục, hãy sử dụng multiIndex.dropna () phương pháp. Đặt thông số cách với giá trị bất kỳ .

Đầu tiên, hãy nhập các thư viện được yêu cầu -

import pandas as pd
import numpy as np

Tạo một chỉ mục đa với một số giá trị NaN. Tham số tên đặt tên cho các cấp trong chỉ mục -

multiIndex = pd.MultiIndex.from_arrays([[5, 10], [np.nan, 20], [25, np.nan], [35, 40]],names=['a', 'b', 'c', 'd'])

Giảm giá trị khi bất kỳ mức nào là NaN trong Đa chỉ mục. Ngay cả với một giá trị NaN duy nhất, dropna () sẽ giảm tất cả các giá trị. Tham số "how" của dropna () được sử dụng với giá trị "bất kỳ" cho điều này -

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

Ví dụ

Sau đây là mã -

import pandas as pd
import numpy as np

# Create a multi-index with some NaN values
# The names parameter sets the names for the levels in the index
multiIndex = pd.MultiIndex.from_arrays([[5, 10], [np.nan, 20], [25, np.nan], [35, 40]],names=['a', 'b', 'c', 'd'])

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

# Drop the value when any level is NaN in a Multi-index
# Even with a single NaN value, the dropna() will drop all the values
# 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'))

Đầu ra

Điều này sẽ tạo ra kết quả sau -

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'])