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