【问题标题】:How can I fix a problem about 'the list is not callable'如何解决有关“列表不可调用”的问题
【发布时间】:2019-07-21 14:35:02
【问题描述】:

我要制作一个 DataFrame 但它有错误。


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-28-3f0c40c312c9> in <module>
      9 #
     10 #
---> 11 df3 = pd.DataFrame([noteSeries, weekdaySeries]) #
     12 print(df3)

TypeError: 'list' object is not callable
noteSeries = pd.Series(["C", "D", "E", "F", "G", "A", "B"],
    index=[1, 2, 3, 4, 5, 6, 7])

weekdaySeries = pd.Series(["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
    index=[1, 2, 3, 4, 5, 6, 7])

df3 = pd.DataFrame([noteSeries, weekdaySeries]) # 
print(df3)

【问题讨论】:

  • 你覆盖pd.DataFrame了吗?
  • 有没有你没有显示的代码?最有可能的是,您已将 Python 的 list 函数替换为其他内容,或者将 pd.DataFrame 替换为其他内容! IE。你已经完成了list = something,或pd.DataFrame = something,当然现在Pandas 本身不能使用list(它不是一个函数),或者pd.DataFrame 不是一个函数,一切都坏了。
  • 这不是重复的,因为 OP 没有在这里覆盖列表 - 很可能他们覆盖了 DataFrame。同意,这是一个类似的问题
  • 以后提出此类问题时,请确保在新的 python 实例上运行您在问题中发布的确切代码 - 即,以便我们可以重现它。基本上,如果您休息一周,然后重新启动计算机,请确保问题仍然有效:)

标签: python pandas list


【解决方案1】:

这适用于我,根据PEP8 进行了一些更改:

import pandas as pd


noteSeries = pd.Series(
    ["C", "D", "E", "F", "G", "A", "B"],
    index=[1, 2, 3, 4, 5, 6, 7])

weekdaySeries = pd.Series(
    ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
    index=[1, 2, 3, 4, 5, 6, 7])

df3 = pd.DataFrame([noteSeries, weekdaySeries])
print(df3)

尝试使用命令行更新您的 pandas 版本:

pip install --upgrade pandas

python -m pip install --upgrade pandas

如果这不能解决问题,那么有可能在你之前的代码中你已经覆盖了pd.DataFrame,如下所示:

pd.DataFrame = [1, 3, 5]

这样做的作用是将 DataFrame 函数变成一个普通列表,然后您就不能再将其作为函数调用了。

【讨论】:

  • 谢谢。问题解决了。我不知道我应该在一个新的 python 实例中运行。
  • 如果这解决了您的问题,请单击upvote/downvote 箭头下方的灰色箭头将其标记为解决方案!谢谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-31
  • 2021-03-10
  • 2020-10-24
  • 1970-01-01
相关资源
最近更新 更多