pandas数据框“没有要打印的数字数据”

2024-05-13 23:00:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个小数据框,我想用熊猫绘图。

    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

虽然我知道数据帧的值非常不平衡,但它的绘图非常不有趣。我想知道为什么错误消息抱怨没有要绘制的数字数据。


Tags: to数据noself绘图pandasdataplot
2条回答

打印前请尝试以下操作:

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

相关问题 更多 >