pandas报错处理:TypeError: Empty 'DataFrame': no numeric data to plot


Tushare返回的是pandas的DataFrame格式,但是执行以下代码时报错:TypeError: Empty 'DataFrame': no numeric data to plot

import tushare as ts

df_all = ts.realtime_boxoffice()
df_box_office = df['BoxOffice']
df_box_office.index = df['Irank']
df_box_office.plot(kind='bar')

反复输出df['BoxOffice']确认是有值的,想不通为什么会报“Empty”,百度也没什么结果。

以为TuSahre和pandas结合时有bug准备放弃的时候看到了报错中有“numeric”,莫非是说df['BoxOffice']是字符串类型不是数值类型所以导致报错

在pandas官方文档看到了“astype()”的用法,代码改成如下成功绘图(另外使用“pd.to_numeric()”也可以,不过从tushare又得绕回pandas一趟感觉代码看起来没那么顺畅):

import tushare as ts

df_all = ts.realtime_boxoffice()
df_box_office = df['BoxOffice'].astype(float)
df_box_office.index = df['Irank']
df_box_office.plot(kind='bar')

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM