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

Python Pandas - DataFrame을 표시기 값과 병합

<시간/>

Pandas DataFrame을 병합하려면 병합을 사용하세요. () 기능. 그 안에서 매개변수 지표를 설정할 수 있습니다. 으로 또는 거짓 . 어떤 데이터 프레임에 특정 레코드가 있는지 확인하려면 -

를 사용하십시오.
indicator= True

위와 같이 위의 매개변수를 True로 사용하여 출력 DataFrame에 "_merge"라는 열을 추가합니다.

먼저 별칭을 사용하여 pandas 라이브러리를 가져오겠습니다.

import pandas as pd

DataFrame1을 만들어 봅시다 -

dataFrame1 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
      "Units": [100, 150, 110, 80, 110, 90]
   }
)

DataFrame2 생성 -

dataFrame2 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
      "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]

   }
)

이제 DataFrames를 표시기 값 True −

와 병합합니다.
# merge DataFrames with indicator value
mergedRes = pd.merge(dataFrame1, dataFrame2, how ="left",indicator=True)

다음은 코드입니다 -

import pandas as pd

# Create DataFrame1
dataFrame1 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
      "Units": [100, 150, 110, 80, 110, 90]
   }
)

print"DataFrame1 ...\n",dataFrame1

# Create DataFrame2
dataFrame2 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
      "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]

   }
)

print"\nDataFrame2 ...\n",dataFrame2

# merge DataFrames with indicator value
mergedRes = pd.merge(dataFrame1, dataFrame2, how ="left",indicator=True)
print"\nMerged dataframe...\n", mergedRes

출력

그러면 다음과 같은 출력이 생성됩니다. 여기에서 "_merge"의 "both"는 두 값이 모두 DataFrames −

에 있음을 표시합니다.
DataFrame1 ...
       Car   Units
0      BMW    100
1    Lexus    150
2     Audi    110
3  Mustang     80
4  Bentley    110
5   Jaguar     90

DataFrame2 ...
        Car   Reg_Price
0       BMW       7000
1     Lexus       1500
2     Tesla       5000
3   Mustang       8000
4  Mercedes       9000
5    Jaguar       6000

Merged dataframe...
       Car   Units   Reg_Price    _merge
0      BMW    100      7000.0       both
1    Lexus    150      1500.0       both
2     Audi    110         NaN  left_only
3  Mustang     80      8000.0       both
4  Bentley    110         NaN  left_only
5   Jaguar     90      6000.0       both