@bogatron benar, Anda dapat menggunakan where
, perlu dicatat bahwa Anda dapat melakukan ini secara native di panda:
df1 = df.where(pd.notnull(df), None)
Catatan: ini mengubah tipe d semua kolom menjadi object
.
Contoh:
In [1]: df = pd.DataFrame([1, np.nan])
In [2]: df
Out[2]:
0
0 1
1 NaN
In [3]: df1 = df.where(pd.notnull(df), None)
In [4]: df1
Out[4]:
0
0 1
1 None
Catatan: apa yang tidak dapat Anda lakukan menyusun ulang DataFrames dtype
untuk mengizinkan semua tipe tipe data, menggunakan astype
, dan kemudian fillna
metode DataFrame :
df1 = df.astype(object).replace(np.nan, 'None')
Sayangnya ini, maupun penggunaan replace
, tidak berfungsi dengan None
melihat masalah (tertutup) ini .
Selain itu, perlu dicatat bahwa untuk sebagian besar kasus penggunaan Anda tidak perlu mengganti NaN dengan None, lihat pertanyaan tentang ini perbedaan antara NaN dan None pada panda ini .
Namun, dalam kasus khusus ini tampaknya Anda melakukannya (setidaknya pada saat jawaban ini).
None
untukNULL
bukannan
?