Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python - 다중 인덱스 Pandas 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'])]

다음으로, 다중 인덱스 데이터 프레임을 생성하고 인덱스도 설정 -

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)

출력

이것은 다음과 같은 출력을 생성합니다 -

valueA 0.845965 -0.850953 -0.335662 VALUE (단위 :십억) 0.534764 1.008855 -0.107635 -0.507910 -0.664625 valueC 1.671653bike valueA -0.475751 -0.244113 0.672352 1.118635 0.428750 -0.273670 VALUE (단위 :십억) valueC -1.064504 -0.344729 0.481037truck valueA 1car 골 1 열 2 골 3LEVEL 레벨 0
                    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