熊猫数据框架“没有数字数据绘图”错误

我有一个小的数据框架,我想使用熊猫绘制。

    2   3
0   1300    1000
1   242751149   199446827
2   237712649   194704827
3   16.2    23.0

我还在试图从熊猫身上学习策划。在上面的例子中,当我说。

df.plot()

我得到了最奇怪的错误。

Library/Python/2.7/site-packages/pandas-0.16.2-py2.7-macosx-10.10-intel.egg/pandas/tools/plotting.pyc in _compute_plot_data(self)
1015         if is_empty:
1016             raise TypeError('Empty {0!r}: no numeric data to '
-> 1017                             'plot'.format(numeric_data.__class__.__name__))
1018
1019         self.data = numeric_data


TypeError: Empty 'DataFrame': no numeric data to plot

虽然我知道数据框架与其非常不平衡的价值使一个非常无趣的情节。我想知道为什么错误消息抱怨没有要绘制的数字数据。

127915 次浏览

在绘图之前尝试下列操作:

df=df.astype(float)

要解决这个问题,您必须转换所需的特定列 首先让我用 pandasnumpy创建一个简单的数据帧 更好地理解它。

#creating the dataframe


import pandas as pd
import numpy as np
details=[['kofi',30,'male',1.5],['ama',43,'female',2.5]]
pf=pd.DataFrame(np.array(details),[0,1],['name','age','sex','id'])


pf  #here i am calling the dataframe


name age     sex   id
0  kofi  30    male  1.5
1   ama  43  female  2.5


#to make your plot work you need to convert the columns that have numbers into numeric
as seen below


pf.id=pd.to_numeric(pf.id)
pf.age=pd.to_numeric(pf.age)


pf.plot.scatter(x='id',y='age')


#This should work perfectly

灵感来自 alex314159,如果在同一个表中除了 float 还有其他数据

df["YourColumnNameHere"]=df["YourColumnNameHere"].astype(float)

使用以下方法将非数值数据转换为数值数据:

DataFrame["Column_name"] = DataFrame["Column_name"].str.replace("[\$\,\.]", "")