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

Python – Numpy를 사용하여 두 Pandas DataFrame에서 공유하는 열 가져오기

<시간/>

두 DataFrames에서 공유하는 열을 가져오려면 intersect1d() 메서드를 사용합니다. 이 방법은 numpy에서 제공하므로 Pandas와 함께 Numpy를 가져와야 합니다. 먼저 필요한 라이브러리를 가져오도록 합시다 -

import pandas as pd
import numpy as np

두 개의 DataFrame 만들기 -

# creating dataframe1
dataFrame1 = pd.DataFrame({"Car": ['Bentley', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],"Cubic_Capacity": [2000, 1800, 1500, 2500, 2200, 3000],"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],"Units_Sold": [ 100, 110, 150, 80, 200, 90]
})

# creating dataframe2
dataFrame2 = pd.DataFrame({"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],"Units_Sold": [ 100, 110, 150, 80, 200, 90]
})

numpy 메서드 intersect1d() −

를 사용하여 공통 열 가져오기
res = np.intersect1d(dataFrame2.columns, dataFrame1.columns)

다음은 코드입니다 -

import pandas as pd
import numpy as np

# creating dataframe1
dataFrame1 = pd.DataFrame({"Car": ['Bentley', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],"Cubic_Capacity": [2000, 1800, 1500, 2500, 2200, 3000],"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],"Units_Sold": [ 100, 110, 150, 80, 200, 90]
})

print"Dataframe1...\n",dataFrame1

# creating dataframe2
dataFrame2 = pd.DataFrame({"Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],"Units_Sold": [ 100, 110, 150, 80, 200, 90]
})

print"Dataframe2...\n",dataFrame2

# get common columns using intersect1d()
res = np.intersect1d(dataFrame2.columns, dataFrame1.columns)

print"\nCommon columns...\n",res

출력

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

Dataframe1...
        Car   Cubic_Capacity   Reg_Price   Units_Sold
0   Bentley             2000        7000          100
1     Lexus             1800        1500          110
2     Tesla             1500        5000          150
3   Mustang             2500        8000           80
4  Mercedes             2200        9000          200
5    Jaguar             3000        6000           90
Dataframe2...
        Car   Units_Sold
0       BMW          100
1     Lexus          110
2     Tesla          150
3   Mustang           80
4  Mercedes          200
5    Jaguar           90

Common columns...
['Car' 'Units_Sold']