pd.DataFrame: df.to_csv()で保存した複素数データをdf.read_csv()で読み込む方法
解決に数時間かかったのでメモします。
問題点:
端的にいうと、
- complex型でpd.DataFrameを作成
- df.to_csv()でcsv保存
- df.read_csv()でcsv読み込み
- 型を調べるとobject型になってる
- 色々頑張ったがうまくcomplex型に戻せない
といった感じ、詳細は以下のissueを参照。
解決策:
df = pd.read_csv('data.csv')
df = df.apply(lambda col: col.apply(lambda val: complex(val.strip('()'))))
まとめ:
pandasは複素数型に弱いらしい。でもpandas使うと色々楽だし…
余談:
この記事Qiitaの方がよくない?(今更)