Tôi đang cố gắng tổng hợp trên các cột của một khung dữ liệu Pandas và khi tôi có NaN trong mỗi cột, tôi nhận được tổng = zero; Tôi đã mong đợi tổng = NaN dựa trên tài liệu. Đây là những gì tôi đã có:Tổng số tất cả các NaN trong gấu trúc trả về 0?
In [136]: df = pd.DataFrame()
In [137]: df['a'] = [1,2,np.nan,3]
In [138]: df['b'] = [4,5,np.nan,6]
In [139]: df
Out[139]:
a b
0 1 4
1 2 5
2 NaN NaN
3 3 6
In [140]: df['total'] = df.sum(axis=1)
In [141]: df
Out[141]:
a b total
0 1 4 5
1 2 5 7
2 NaN NaN 0
3 3 6 9
Các tài liệu pandas.DataFrame.sum nói "Nếu một dòng toàn bộ/cột là NA, kết quả sẽ là NA", vì vậy tôi không hiểu tại sao "tổng" = 0 và không phải NaN cho chỉ mục 2. Tôi đang thiếu gì?
FYI Tôi nhận được NaN như mong đợi (0,17.0.) – DSM
Cảm ơn bạn đã nhập. . . Tôi đang chạy 0,17,0, vì vậy điều này thậm chí còn khó hiểu hơn. – dgd
TBH điều này đang bắt đầu cảm thấy giống như một báo cáo lỗi-- Tôi đã về đề nghị xem xét 'pd.show_versions()', nhưng những người phù hợp tốt hơn trên github hơn trên SO. :-) – DSM