将dataframe中的NaN替换成希望的值
import pandas as pd
df1 = pd.DataFrame([{'col1':'a', 'col2':1}, {'col1':'b', 'col2':2}])
df2 = pd.DataFrame([{'col1':'a', 'col3':11}, {'col1':'c', 'col3':33}])
data = pd.merge(left=df1, right=df2, how='left', left_on='col1', right_on='col1')
print data
# 将NaN替换为None
print data.where(data.notnull(), None)
输出结果:
col1 col2 col3
0 a 1 11
1 b 2 NaN
col1 col2 col3
0 a 1 11
1 b 2 None