Tôi không thể tìm thấy một hàm gấu trúc (mà tôi đã thấy trước đây) để thay thế NaN trong một khung dữ liệu với các giá trị từ một khung dữ liệu khác (giả sử một chỉ mục chung có thể được chỉ định). Bất kỳ giúp đỡ?Pandas điền vào các giá trị bị mất trong dataframe từ một khung dữ liệu khác
Trả lời
Nếu bạn có hai DataFrames của hình dạng tương tự, sau đó:
df[df.isnull()] = d2
sẽ làm các trick.
Chỉ những nơi df.isnull()
đánh giá để True
(đánh dấu màu xanh) sẽ đủ điều kiện để chuyển nhượng.
Trong thực tế, Khung dữ liệu không phải lúc nào cũng có cùng kích thước/hình dạng và phương pháp chuyển đổi (đặc biệt là .shift()
) rất hữu ích.
Dữ liệu đến vào lúc nào cũng bẩn, không đầy đủ hoặc không nhất quán. Par cho khóa học. Có một con gấu trúc khá rộng rãi tutorial and associated cookbook để xử lý những tình huống này.
Như tôi vừa mới học, có một phương pháp DataFrame.combine_first()
, mà không chính xác này, với tài sản thêm rằng nếu bạn khung dữ liệu cập nhật d2
lớn hơn của bạn ban đầu df
, các hàng và các cột bổ sung được thêm vào, là tốt.
df = df.combine_first(d2)
DataFrame.combine_first() trả lời chính xác câu hỏi này.
Tuy nhiên, đôi khi bạn muốn điền vào/thay thế/ghi đè lên một số giá trị không thiếu (không NaN) của DataFrame A với giá trị từ DataFrame B. Câu hỏi đó đưa tôi đến trang này, và giải pháp là DataFrame.mask()
A = B.mask(condition, A)
Khi condition
là đúng, các giá trị từ A sẽ được sử dụng, nếu không giá trị của B sẽ được sử dụng.
Ví dụ, bạn có thể giải quyết câu hỏi ban đầu của OP với mask
như vậy mà khi một phần tử từ A là phi NaN, sử dụng nó, nếu không sử dụng các yếu tố tương ứng từ B.
Nhưng sử dụng DataFrame.mask() bạn có thể thay thế các giá trị của A không đáp ứng các tiêu chí tùy ý (ít hơn 0?) với các giá trị từ B. Vì vậy, mask
linh hoạt hơn và quá mức cần thiết cho vấn đề này, nhưng tôi nghĩ nó đáng được đề cập đến (tôi cần nó để giải quyết vấn đề của tôi).
Điều quan trọng cũng cần lưu ý là B có thể là mảng thay vì một DataFrame. DataFrame.combine_first() yêu cầu B là một DataFrame, nhưng DataFrame.mask() chỉ yêu cầu B là NDFrame và kích thước của nó phù hợp với thứ nguyên của A.
- 1. Python Pandas Dataframe điền các giá trị NaN
- 2. gấu trúc hợp nhất khung dữ liệu điền vào các giá trị bị thiếu
- 3. Pandas DataFrame giá trị cập nhật Cột với DataFrame khác
- 4. Kết hợp các cột trong một khung dữ liệu Pandas vào một cột danh sách trong một DataFrame
- 5. Tổng hợp các giá trị cột trong Pandas DataFrame
- 6. Thay thế giá trị trong khung dữ liệu với các giá trị khác theo quy tắc
- 7. Pandas - điền Nans trong dữ liệu Categorical
- 8. Nhận giá trị băm giống nhau cho một khung dữ liệu Pandas mỗi lần
- 9. Điền vào khung dữ liệu với giá trị từ hàng trên
- 10. Các số NaN khi trừ các khung dữ liệu pandas
- 11. Kết nối cột dữ liệu Pandas DataFrame
- 12. Kết hợp các khung dữ liệu trong Pandas bằng cách sử dụng giá trị trung bình
- 13. Viết dữ liệu Pandas DataFrame vào dòng-Delineated JSON
- 14. Phụ thêm vào khung dữ liệu trống trong Pandas?
- 15. thay thế các giá trị cột trong một dataframe bởi giá trị của dataframe khác
- 16. Điền khung dữ liệu gấu liên tục từ khung dữ liệu thưa thớt
- 17. Pandas chia DataFrame theo giá trị cột
- 18. Cách nhanh nhất để điền QTableView từ khung dữ liệu Pandas
- 19. Pandas: Chọn giá trị từ các cột cụ thể của một DataFrame theo hàng
- 20. Làm cách nào để lọc ra các hàng của một khung dữ liệu pandas python từ một khung dữ liệu khác bằng cách so sánh các cột?
- 21. pandas Python: thay thế giá trị nhiều cột khớp với nhiều cột từ một khung dữ liệu khác
- 22. Pandas: Làm thế nào để điền vào các giá trị null với giá trị trung bình của một nhóm?
- 23. Thêm nhiều cột vào Pandas khung dữ liệu từ hàm
- 24. Điền vào dữ liệu bị mất gấu trúc với giá trị không thiếu trước, nhóm lại theo chính
- 25. Pandas khung dữ liệu từ điển
- 26. Làm cách nào để kết hợp hai cột trong một khung dữ liệu trong Pandas?
- 27. Pandas DataFrame chồng nhiều giá trị cột vào cột đơn
- 28. Đang tải tập dữ liệu về SKLearn vào Pandas DataFrame
- 29. thay thế giá trị trong dataframe dựa trên một khung dữ liệu
- 30. Thay thế giá trị trong khung dữ liệu dựa trên khung dữ liệu khác trong R
Âm thanh Giống như bạn muốn hợp nhất. Vui lòng hiển thị một số trường hợp mẫu. –
tìm thấy nó! Tôi muốn sử dụng connect_first – user308827
http://pandas.pydata.org/pandas-docs/dev/generated/pandas.Series.combine_first.html – user308827