Текущая версия pandas: 0.22
У меня есть SparseDataFrame.
A = pd.SparseDataFrame(
[['a',0,0,'b'],
[0,0,0,'c'],
[0,0,0,0],
[0,0,0,'a']])
A
0 1 2 3
0 a 0 0 b
1 0 0 0 c
2 0 0 0 0
3 0 0 0 a
В настоящее время значения заполнения 0
. Однако я хотел бы изменить fill_values на np.nan
. Мой первый инстинкт состоял в том, чтобы называть replace
:
A.replace(0, np.nan)
Но это дает
TypeError: cannot convert int to an sparseblock
Что действительно не помогает мне понять, что я делаю неправильно.
Я знаю, что могу сделать
A.to_dense().replace(0, np.nan).to_sparse()
Но есть ли лучший способ? Или мое фундаментальное понимание ошибочных разреженных фреймов?