Tôi có hai khung dữ liệu chỉ có các cột và cột chồng lấp nhau.Các số NaN khi trừ các khung dữ liệu pandas
old = pd.DataFrame(index = ['A', 'B', 'C'],
columns = ['k', 'l', 'm'],
data = abs(np.floor(np.random.rand(3, 3)*10)))
new = pd.DataFrame(index = ['A', 'B', 'C', 'D'],
columns = ['k', 'l', 'm', 'n'],
data = abs(np.floor(np.random.rand(4, 4)*10)))
tôi muốn để tính toán sự khác biệt giữa họ và cố gắng
delta = new - old
Điều này cho phép nhiều Nans nơi chỉ số và cột không khớp. Tôi muốn đối xử với sự quan tâm của các chỉ số và cột như số không, (tuổi ['n', 'D'] = 0). cũ sẽ luôn là một không gian con mới.
Bất kỳ ý tưởng nào?
CHỈNH SỬA: Tôi đoán tôi đã không giải thích đầy đủ. Tôi không muốn điền vào các dataframe delta với zeroes. Tôi muốn đối xử với các chỉ mục và cột bị thiếu trong cũ như thể chúng là số không. Sau đó tôi sẽ nhận được giá trị trong ['n', 'D'] mới ở vùng đồng bằng thay vì một NaN.
gọi 'đồng bằng = delta.fillna (0) 'để thay thế nan đánh giá cao – EdChum
Tôi đoán tôi đã không giải thích nó hoàn toàn đủ. Tôi không muốn điền vào các dataframe delta với zeroes. Tôi muốn đối xử với các chỉ mục và cột bị thiếu trong cũ như thể chúng là số không. Sau đó tôi sẽ nhận được giá trị trong ['n', 'D'] mới ở vùng đồng bằng thay vì một NaN. –
Tôi sẽ mở lại một khi tôi trở lại máy tính, về cơ bản những gì bạn muốn làm là lấy liên minh của cả hai cột dfs và chỉ mục, reindex cả dfs và điền nan với số không và sau đó trừ – EdChum