Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Pandas - ลดค่าเมื่อระดับใด ๆ เป็น NaN ใน Multi-index


หากต้องการลดค่าเมื่อระดับใดๆ เป็น NaN ในดัชนีหลายรายการ ให้ใช้ multiIndex.dropna() กระบวนการ. ตั้งค่าพารามิเตอร์ วิธี ด้วยค่า ใดๆ .

ขั้นแรก นำเข้าไลบรารีที่จำเป็น -

import pandas as pd
import numpy as np

สร้างดัชนีหลายรายการด้วยค่า NaN บางส่วน พารามิเตอร์ชื่อตั้งชื่อสำหรับระดับในดัชนี -

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

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

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

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