【发布时间】: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