Tôi đang làm việc thông qua "Python For Data Analysis" và tôi không hiểu một chức năng cụ thể nào. Thêm hai đối tượng loạt gấu trúc sẽ tự động căn chỉnh dữ liệu được lập chỉ mục nhưng nếu một đối tượng không chứa chỉ mục đó thì nó sẽ được trả về là NaN. Ví dụ từ cuốn sách:Thêm hai đối tượng pandas.series
a = Series([35000,71000,16000,5000],index=['Ohio','Texas','Oregon','Utah'])
b = Series([NaN,71000,16000,35000],index=['California', 'Texas', 'Oregon', 'Ohio'])
Kết quả:
In [63]: a
Out[63]: Ohio 35000
Texas 71000
Oregon 16000
Utah 5000
In [64]: b
Out[64]: California NaN
Texas 71000
Oregon 16000
Ohio 35000
Khi tôi thêm chúng lại với nhau tôi có được điều này ...
In [65]: a+b
Out[65]: California NaN
Ohio 70000
Oregon 32000
Texas 142000
Utah NaN
Vậy tại sao giá trị Utah NaN và không 500? Có vẻ như 500 + NaN = 500. Đưa cái gì? Tôi đang thiếu một cái gì đó, xin vui lòng giải thích.
Cập nhật:
In [92]: # fill NaN with zero
b = b.fillna(0)
b
Out[92]: California 0
Texas 71000
Oregon 16000
Ohio 35000
In [93]: a
Out[93]: Ohio 35000
Texas 71000
Oregon 16000
Utah 5000
In [94]: # a is still good
a+b
Out[94]: California NaN
Ohio 70000
Oregon 32000
Texas 142000
Utah NaN
Đã giải quyết: toán tử '+' thực hiện một liên kết của cả hai. Tôi cần phương thức .add() để thay thế. – joelotz