【问题标题】:TypeError while trying to print a dataframe in jupyter notebook尝试在 jupyter notebook 中打印数据框时出现 TypeError
【发布时间】:2017-11-25 15:28:54
【问题描述】:

我在 python 中有一个这样定义的示例数据框:

df = pd.DataFrame({
  'col1': ['Item0', 'Item0', 'Item1', 'Item1'],
  'col2': ['Gold', 'Bronze', 'Gold', 'Silver'],
  'col3': [1, 2, np.nan, 4]
   })

当我尝试通过简单地键入在 jupyter notebook 中打印数据帧 df jupyter 中的 df 并执行它我得到一个错误:

TypeError:不支持numpy布尔负数-运算符,请改用~运算符或logical_not函数。

我尝试过 print(df),转换为 html 表格并打印它,display(df) 都显示相同的错误。

PS: print(df) 或者只是 df 几周前在 jupyter 中工作得非常好。

【问题讨论】:

  • 您可能给df 分配了不正确的内容type(df) 显示了什么?还可以尝试重新启动内核,因为它看起来有一些不正确的状态
  • 100% 同意@EdChum。第一步是重新启动你的内核(或者,为了更加安全,jupyter)。第二步是检查你的df的类型。
  • type(df) 显示为:pandas.core.frame.DataFrame
  • 我重启内核还是一样的错误
  • 是的,我猜@EdChum 是对的。只有当我在服务器上的 docker 上运行的 jupyter 上运行以下程序时,我才会收到此错误。当我在本地机器上运行的 jupyter 中执行相同的程序时,它工作得很好。

标签: python pandas dataframe typeerror


【解决方案1】:

尝试编辑它给出错误的文件。我有一个类似的问题,指向我的 python 包中的文件 series.py 在 ~1800 行必须手动编辑 good = -badgood = ~bad

令人惊讶的是,即使我在第一行添加了第二行,但它却给我一个错误提示 - 不支持...

手动编辑后,一切看起来都已修复。

【讨论】:

    【解决方案2】:

    它帮助我从 pandas 0.13 升级到 0.20.3。

    【讨论】:

      【解决方案3】:

      我只是在不同的设置中遇到了这个错误,我认为根本问题是与 Numpy 1.13 不兼容,(临时)修复是重新安装与 Numpy 1.12。

      导致错误的行为变化是,如果您尝试否定布尔值,Numpy 现在会抛出错误: https://docs.scipy.org/doc/numpy/release.html#deprecationwarning-to-error

      DeprecationWarning to error:negative(bool_), TypeError whennegative应用于布尔值。

      【讨论】:

      • 我无法在 Jupyter 或 python 中打印(df)或 df。错误消息是:TypeError:reduce() 最多接受 5 个参数(给定 6 个)。将 numpy 从 1.15 移到 1.14 解决了它。
      【解决方案4】:

      尝试使用 iloc,

          df.iloc[0:5] #this will show first 5 rows of the dataframe
      

      更多详情请访问http://www.shanelynn.ie/select-pandas-dataframe-rows-and-columns-using-iloc-loc-and-ix/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-28
        • 2020-10-15
        • 2018-08-25
        • 2020-02-08
        • 2018-02-08
        • 1970-01-01
        • 1970-01-01
        • 2019-06-11
        相关资源
        最近更新 更多