簡體   English   中英

誰能解釋這個錯誤[AttributeError:“ DataFrame”對象沒有屬性“ to_numeric”]

[英]Can anyone explain this error [AttributeError: 'DataFrame' object has no attribute 'to_numeric']

我正在嘗試將薪水更改為整數,這樣我就可以進行一些分析,並繪制出每個間距的價格圖表。 當我嘗試執行此操作時,它說數據幀沒有屬性to_numeric。 我得到了API DOC的代碼,所以我想知道正在發生什么。 它是DataFrames列表還是其他東西。 我應該更改數字符號嗎?

import pandas as pd
import pandas_datareader.data as web

players = pd.read_html('http://www.usatoday.com/sports/mlb/salaries/2013/player/p/')


df1 = pd.DataFrame(players[0])
df1.drop(df1.columns[[0,3,4, 5, 6]], axis=1, inplace=True)
df1.columns = ['Player', 'Team', 'Avg_Annual']
#print (df1.head(10))

p2 = pd.read_html('http://www.sportingcharts.com/mlb/stats/pitching-pitch-count-leaders/2013/')


df2 = pd.DataFrame(p2[0])

df2.drop(df2.columns[[0,2, 3]], axis=1, inplace=True)



#print (df2.head(10))

df1.set_index ('Player')
df2.set_index('Player')




df3 = pd.merge(df1, df2, on='Player')

df3.set_index('Player', inplace=True)
df3.columns = ['Team', 'Avg_Annual', 'Pitch_Count']
print (df3.head())

df3.to_numeric(Avg_Annual)
values = (df3.Avg_Annual) - (df3.Pitch_Count)

print (values.head())

給出錯誤:

追溯(最近一次通話):文件“ /home/mdz5032/PMLB.py”,第38行,位於df3.to_numeric(Avg_Annual)中,文件“ /usr/local/lib/python3.4/dist-packages/pandas/core” /generic.py“,第2672行,在getattr返回對象中。 getattribute (自身,名稱)AttributeError:'DataFrame'對象沒有屬性'to_numeric'

調用函數的方式涉及使用模塊,然后傳入要修改的DataFrame列,如下所示:

pd.to_numeric(df3.Avg_Annual)

您將收到另一個錯誤,因為該模塊無法將美元符號和逗號轉換為數字。 嘗試這個:

values = []

for i in range(0, len(df3.Avg_Annual)):
    values.append(int(df3.Avg_Annual[i][2:].replace(',','')) - df3.Pitch_Count[i])

如果df3.Avg_Annual值替換df3.Avg_Annual ,請執行以下操作並查看結果:

for i in range(0, len(df3.Avg_Annual)):
    df3.Avg_Annual[i] = (int(df3.Avg_Annual[i][2:].replace(',','')) - df3.Pitch_Count[i])
print (df3.head())

如果要重新添加格式,這很容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM