CSVの段階で"nan"という文字列を利用していたのに、DataFrameに入れたときに勝手に'NaN'になってしまうので困った。
もう一度"nan"を利用するためには、fillna('nan')
を使うことで解決。
まぁ空の部分も'nan'になるんですけど
import math
import numpy as np
import pandas as pd
# データの作成
data = [
['', 1, '2', 3], #
[math.nan, np.nan, pd.np.nan, 'np.nan'],
[None, None, 'nan', 'nan']
]
df = pd.DataFrame(data)
df.to_csv('test.csv')
# CSVにある'nan'を読み込むとNaNになる
df = pd.read_csv('test.csv')
print(df)
# 0 1 2 3
# 0 NaN 1.0 2.0 3
# 1 NaN NaN NaN np.nan
# 2 NaN NaN NaN NaN
# fillnaをするとnanになる
na = df.fillna('nan')
print(na)
# 0 1 2 3
#0 nan 1 2 3
#1 nan nan nan np.nan
#2 nan nan nan nan