หากต้องการวางแถวเฉพาะจาก dataframe หลายดัชนี ให้ใช้ drop() กระบวนการ. ขั้นแรก ให้เราสร้างอาร์เรย์หลายดัชนี -
arr = [np.array(['car', 'car', 'car','bike', 'bike', 'bike', 'truck', 'truck', 'truck']), np.array(['valueA', 'valueB', 'valueC','valueA', 'valueB', 'valueC','valueA', 'valueB', 'valueC'])]
ต่อไป สร้าง multiindex dataframe และตั้งค่า index ด้วย -
dataFrame = pd.DataFrame( np.random.randn(9, 3), index=arr, columns=['Col 1', 'Col 2', 'Col 3']) dataFrame.index.names = ['level 0', 'level 1']
ตอนนี้ วางแถวเฉพาะ -
dataFrame.drop(('car','valueA'), axis=0, inplace=True)
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
import numpy as np import pandas as pd # multiindex array arr = [np.array(['car', 'car', 'car','bike','bike', 'bike', 'truck', 'truck', 'truck']), np.array(['valueA', 'valueB', 'valueC','valueA', 'valueB', 'valueC','valueA', 'valueB', 'valueC'])] # forming multiindex dataframe dataFrame = pd.DataFrame( np.random.randn(9, 3), index=arr,columns=['Col 1', 'Col 2', 'Col 3']) dataFrame.index.names = ['level 0', 'level 1'] print(dataFrame) print("\nDropping specific row...\n"); dataFrame.drop(('car','valueA'), axis=0, inplace=True) print(dataFrame)
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
Col 1 Col 2 Col 3 level 0 level 1 car valueA 0.845965 -0.850953 -0.335662 valueB 0.534764 -0.107635 1.008855 valueC -0.507910 -0.664625 1.671653 bike valueA -0.475751 -0.244113 0.672352 valueB -0.273670 1.118635 0.428750 valueC -1.064504 -0.344729 0.481037 truck valueA -0.508659 1.352390 1.382799 valueB 1.144299 -0.092568 -1.071624 valueC -0.710767 0.967018 -0.047430 Dropping specific row... Col 1 Col 2 Col 3 level 0 level 1 car valueB 0.534764 -0.107635 1.008855 valueC -0.507910 -0.664625 1.671653 bike valueA -0.475751 -0.244113 0.672352 valueB -0.273670 1.118635 0.428750 valueC -1.064504 -0.344729 0.481037 truck valueA -0.508659 1.352390 1.382799 valueB 1.144299 -0.092568 -1.071624 valueC -0.710767 0.967018 -0.047430