Làm cách nào tôi có thể chọn sự khác biệt giữa các cột có cùng tên trong hai khung dữ liệu? Tôi có nghĩa là tôi có dataframe A với một cột có tên là X và dataframe B có cột X, nếu tôi làm pd.merge(A, B, on=['X'])
, tôi sẽ nhận được các giá trị X chung của A và B, nhưng làm cách nào tôi có được các giá trị "không phổ biến" ?"Chống hợp nhất" trong gấu trúc (Python)
7
A
Trả lời
14
Nếu bạn thay đổi kiểu hợp nhất để how='outer'
và indicator=True
này sẽ bổ sung thêm một cột để cho bạn biết liệu các giá trị được trái/cả/phải chỉ:
In [2]:
A = pd.DataFrame({'x':np.arange(5)})
B = pd.DataFrame({'x':np.arange(3,8)})
print(A)
print(B)
x
0 0
1 1
2 2
3 3
4 4
x
0 3
1 4
2 5
3 6
4 7
In [3]:
pd.merge(A,B, how='outer', indicator=True)
Out[3]:
x _merge
0 0.0 left_only
1 1.0 left_only
2 2.0 left_only
3 3.0 both
4 4.0 both
5 5.0 right_only
6 6.0 right_only
7 7.0 right_only
Sau đó bạn có thể lọc kết quả sáp nhập df trên _merge
col:
In [4]:
merged = pd.merge(A,B, how='outer', indicator=True)
merged[merged['_merge'] == 'left_only']
Out[4]:
x _merge
0 0.0 left_only
1 1.0 left_only
2 2.0 left_only
Bạn cũng có thể sử dụng isin
và phủ nhận những mặt nạ để tìm giá trị không trong B:
In [5]:
A[~A['x'].isin(B['x'])]
Out[5]:
x
0 0
1 1
2 2
Các vấn đề liên quan
- 1. Python: gấu trúc hợp nhất nhiều dataframes
- 2. Hợp nhất và trừ cột DataFrame trong gấu trúc?
- 3. gấu trúc hợp nhất trên chỉ số không làm việc
- 4. lỗi chính về gấu trúc hợp nhất (trái tham gia)
- 5. Kết hợp các hàng trong gấu trúc
- 6. cách hiệu quả nhất để groupby => tổng hợp cho dataframe lớn trong gấu trúc
- 7. gấu trúc python read_csv delimiter trong dữ liệu cột
- 8. binning cột với gấu trúc python
- 9. python gấu trúc groupby() kết quả
- 10. R dcast tương đương trong gấu trúc python
- 11. nhận chuỗi từ gấu trúc Series và DataFrames trong python?
- 12. cách hiểu trục = 0 hoặc 1 trong gấu trúc (Python)?
- 13. liệu munging trong gấu trúc
- 14. gấu trúc python: đổi tên nhãn cột duy nhất trong đa-index dataframe
- 15. Nhận tập hợp con của các biến giả thường xuyên nhất trong gấu trúc
- 16. tham gia hoặc hợp nhất với ghi đè trong gấu trúc
- 17. Đếm theo cặp cột duy nhất trong gấu trúc
- 18. Có điều kiện loại bỏ trùng lặp gấu trúc python
- 19. Cài đặt gấu trúc mô-đun Python trong Cloud9
- 20. Vẽ CDF của một loạt gấu trúc trong python
- 21. datetime để chuỗi với hàng loạt trong gấu trúc python
- 22. gấu trúc: kết hợp hai cột trong một DataFrame
- 23. Kết hợp hai Series vào một DataFrame trong gấu trúc
- 24. gấu trúc python tùy chỉnh AGG chức năng
- 25. Python đọc dữ liệu Cassandra vào gấu trúc
- 26. khoản tiền điều kiện cho tổng hợp gấu trúc
- 27. Xử lý văn bản Python: NLTK và gấu trúc
- 28. chọn qua nhiều cột với gấu trúc python?
- 29. Di anti-aliasing cho gấu trúc plot.area
- 30. Thêm cột với bảng tổng hợp (gấu trúc)
bạn chỉ có thể làm '~ A ['X'] .inin (B ['X'])' để xem các giá trị duy nhất cho A và ngược lại để làm ngược lại – EdChum
Ngoài ra tôi nghĩ rằng 'pd.merge (A, B, on = ['X'], chỉ số = True, how = 'outer') 'sẽ làm việc khi nó thêm' _merge' col và giá trị này sẽ có giá trị 'left_only',' right_only' để chỉ ra các giá trị chỉ còn lại/phải – EdChum