Prerequisite
import pandas as pd
ser = pd.Series([1, 2, 3, None], dtype="Int8")
以下のように、NA型を含新しいIntのSeries型を文字列に変更しようとすると、挙動の違いがある。これによりパイプラインが破壊され3時間奪われた。
2.1.4
>>> ser.map(str)
0 1
1 2
2 3
3 <NA>
dtype: object
2.2.0
>>> ser.map(str)
0 1.0
1 2.0
2 3.0
3 nan
dtype: object
取った対応
現状 pandas を2.2.3まで上げているので明示的に string 型とした。 PDEP-14によると v3.0 で stringの再編成が行われるが、この指定で問題はない。
>>> ser.astype("string")
0 1
1 2
2 3
3 <NA>
dtype: string
以上。