【问题标题】:Python: DataError: No numeric types to aggregatePython:DataError:没有要聚合的数字类型
【发布时间】:2020-04-02 00:40:10
【问题描述】:

好的,我收到此错误:DataError: No numeric types to aggregate 我试图绘制一个 csv 文件,但它不工作。有什么建议吗?谢谢 这是我的代码:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.read_csv('spacestocksinfo.csv', skipinitialspace=True) 

df['Date']= pd.to_datetime(df['Date'])  

for col in df.columns:
    try:
        df[col] = df[col].astype(float)
    except:
        continue


pd.read_csv('spacestocksinfo.csv', skipinitialspace=True)
sns.lineplot(data=df, x='Date',y='High', hue='company')  

csv 文件的格式是这样的,但行数更多:

url,company,Date,Open,High,Low,Close,Adj Close,Volume
https://finance.yahoo.com/quote/I/history?p=I,Intelsat S.A.,"Dec 06, 2019",6.10,6.59,6.01,6.53,6.53,"6,737,585"
https://finance.yahoo.com/quote/I/history?p=I,Intelsat S.A.,"Dec 05, 2019",6.64,6.68,6.02,6.05,6.05,"5,919,800"

这是错误:

File "4.py", line 30, in <module>
    sns.lineplot(data=df, x='Date',y='High', hue='company')
  File "C:\python37\lib\site-packages\seaborn\relational.py", line 1084, in lineplot
    p.plot(ax, kwargs)
  File "C:\python37\lib\site-packages\seaborn\relational.py", line 775, in plot
    x, y, y_ci = self.aggregate(y, x, units)
  File "C:\python37\lib\site-packages\seaborn\relational.py", line 705, in aggregate
    est = grouped.agg(func)
  File "C:\python37\lib\site-packages\pandas\core\groupby\generic.py", line 845, in aggregate
    return getattr(self, func_or_funcs)(*args, **kwargs)
  File "C:\python37\lib\site-packages\pandas\core\groupby\groupby.py", line 1205, in mean
    "mean", alt=lambda x, axis: Series(x).mean(**kwargs), **kwargs
  File "C:\python37\lib\site-packages\pandas\core\groupby\groupby.py", line 888, in _cython_agg_general
    raise DataError("No numeric types to aggregate")
pandas.core.base.DataError: No numeric types to aggregate

怎么了?

【问题讨论】:

  • 你运行的是什么版本,这适用于0.25.3的pandas
  • 嗯,让我检查一下.... 25.lines 在我运行代码时它不起作用。我没有得到图表上的线条。
  • 我只是得到那个错误
  • df.dtypes 打印什么?
  • 我找到了解决方案,哈哈

标签: python pandas matplotlib seaborn


【解决方案1】:

所以我注意到很多人都有这个错误。让我解释一下这个问题。好的,所以我不得不清理数据。一家公司有一段时间没有发布数据,导致数据不完整。我不得不删除 csv 中没有发布数据的部分。那是导致错误的原因。一旦那不是我的代码运行。至于说我的代码没问题的人,他是对的。我在这里发布的内容会很好,因为我在这里发布的 csv 部分是完整且干净的。

【讨论】:

    猜你喜欢
    • 2021-08-07
    • 1970-01-01
    • 2021-09-22
    • 2017-01-06
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 2020-04-15
    相关资源
    最近更新 更多