获取typeError:期望pandas.dataframe.replace调用的字符缓冲对象



我使用python2.7&pygsheets:

错误:

Traceback (most recent call last):
  File "Tracker.py", line 108, in <module>
    test.track()
  File "Tracker.py", line 99, in track
    self.sheet.set_dataframe(json.dumps(pd.DataFrame(list(cursor.fetchall())),default=iterencode),self.anchor,copy_index=False, copy_head=True, fit=False, escape_formulae=False,nan=str('n'))
  File "/usr/local/lib/python2.7/dist-packages/pygsheets/worksheet.py", line 742, in set_dataframe
    df = df.replace(pd.np.nan, nan)
TypeError: expected a character buffer object

我尝试过nan ='nan',' n'以及0-但是一切都带有相同的错误。

错误完全在此行之内:

self.sheet.set_dataframe(json.dumps(pd.DataFrame(list(cursor.fetchall())),default=iterencode),self.anchor,copy_index=False, copy_head=True, fit=False, escape_formulae=False,nan=str('NanN'))

实际上是最后一个arg: nan=str('NaN')

我已经检查了pandas文档的替换:

value : scalar, dict, list, str, regex, default None
Value to use to fill holes (e.g. 0), alternately a dict of values specifying which value to use for each column (columns not in the dict will not be filled). Regular expressions, strings and lists or dicts of such objects are also allowed.

似乎也或多或少排队。

pygsheets/worksheet.py除了一行外,还有其他任何东西: df = df.replace(pd.np.nan, nan)&amp;NAN是我发送的不变输入,即str('NaN')

我想知道这是什么意思 - 这种版本控制问题与某些python或库版本不匹配?还是其他?

我通过打印到csv文件,然后将其作为数据框架读取并将其传递到功能中,因为我没有及时找到解决方案。

但是,我仍然想了解这个问题如何以及为什么以及在哪里出现?谢谢

如果您想用另一个值替换所有NAN,为什么不使用df.fillna(newValue)

最新更新