Computer >> Máy Tính >  >> Lập trình >> Python

Python - Thay thế các giá trị của DataFrame bằng giá trị của DataFrame khác trong Pandas

Để thay thế các giá trị của DataFrame bằng giá trị của DataFrame khác, hãy sử dụng phương thức Replace () n Pandas.

Đầu tiên, trước tiên chúng ta hãy tạo DataFrame -

dataFrame1 = pd.DataFrame({"Car": ["Audi", "Lamborghini"], "Place": ["US", "UK"], "Units": [200, 500]})

Hãy để chúng tôi tạo một DataFrame khác -

dataFrame2 = pd.DataFrame({"Car": ["BMW", "Lexus"], "Place": ["India", "Australia"], "Units": [800, 1000]})

Tiếp theo, lấy một giá trị từ DataFrame2 và thay thế bằng một giá trị từ DataFrame1 -

# get value from 2nd DataFrame
i = dataFrame2['Car'][1]

# replacing with a value from the 1st DataFrame
j = dataFrame1['Car'][0]

Cuối cùng, sử dụng phương thức Replace () để thay thế giá trị của một DataFrame bằng giá trị của một DataFrame khác -

dataFrame2 = dataFrame2.replace(i, j)

Ví dụ

Sau đây là mã -

import pandas as pd

dataFrame1 = pd.DataFrame({"Car": ["Audi", "Lamborghini"],"Place": ["US", "UK"], "Units": [200, 500]})

print("Dataframe 1...")
print(dataFrame1)

dataFrame2 = pd.DataFrame({"Car": ["BMW", "Lexus"],"Place": ["India", "Australia"], "Units": [800, 1000]})

print("\nDataframe 2...")
print(dataFrame2)

## Get a value from DataFrame2
## and replace with a value
## from DataFrame1

# getting value from 2nd DataFrame
i = dataFrame2['Car'][1]

# replacing with a value from the 1st DataFrame
j = dataFrame1['Car'][0]

# replace values of one DataFrame
# with the value of another DataFrame
dataFrame2 = dataFrame2.replace(i, j)

# Display the updated DataFrame
print("\nUpdated Dataframe 2...")
print(dataFrame2)

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Dataframe 1...
     Car       Place   Units
0         Audi    US     200
1  Lamborghini    UK     500

Dataframe 2...
     Car       Place   Units
0    BMW       India     800
1  Lexus   Australia     1000

Updated Dataframe 2...
     Car       Place    Units
0   BMW        India      800
1  Audi    Australia   1000