- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试将薪水更改为整数,这样我就可以进行一些分析并绘制出他们每次投球的价格图表。当我尝试这样做时,它说数据框没有属性 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())
给出错误:
Traceback (most recent call last): File "/home/mdz5032/PMLB.py", line 38, in df3.to_numeric(Avg_Annual) File "/usr/local/lib/python3.4/dist-packages/pandas/core/generic.py", line 2672, in getattr return object.getattribute(self, name) AttributeError: 'DataFrame' object has no attribute '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
,请执行以下操作并查看结果:
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())
如果你想重新添加格式,很简单。
关于python - 谁能解释这个错误 [AttributeError : 'DataFrame' object has no attribute 'to_numeric' ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38515783/
前言 我先说两件事: 我是 python/pandas 的新手,我不想重新发明轮子 我已阅读 pandas.to_numeric 的文档 我读过 Why Are Floating Point Numb
我无法让 to_numeric 在下面的代码中工作: tt = ['123.00','10,614,163,994.00'] pd.to_numeric(tt) 我收到以下错误: ValueError
将 pandas.to_numeric 应用于包含表示数字的字符串(以及可能其他无法解析的字符串)的数据框列会导致如下错误消息: -----------------------------------
我正在使用以下 df : c.sort_values('2005', ascending=False).head(3) GeoName ComponentName Industry
我有一个包含 15 列的数据框。其中 5 列使用数字,但有些条目是空白或单词。我想将它们转换为零。 我能够将其中一列中的条目转换为零,但是当我尝试对多列执行此操作时,我无法做到这一点。我在一个专栏中尝
我正在尝试使用 dask read_csv 读取多个 CSV 文件,每个文件大约 15 GB。在执行此任务时,dask 将特定列解释为浮点数,但是它有一些字符串类型的值,后来当我尝试执行某些操作时失败
如果输入是整个数据帧,则按照我读过的方式在数据帧上应用 pandas to_numeric 或 to_datetime 函数可以正常工作,但如果输入是数据帧的多个列的一部分则不行。 我是做错了什么还是
我有一个包含两列的数据框,我想将其转换为数字类型。我使用以下代码: df[["GP","G"]]=df[["GP","G"]].apply(pd.to_numeric) Python 返回以下错误消息
我正在尝试使用 pd.to_numeric 转换列,但出于某种原因,它会将所有值(一个除外)转换为 NaN: In[]: pd.to_numeric(portfolio["Principal Rema
假设我在一个字符串中有一个很大的数字,比如 '555555555555555555555'。可以选择将其转换为 int、float 甚至 numpy float: int('5555555555555
我正在使用 Jupyter 笔记本。默认 python 内核。已导入“numpy”和“pandas”。 此列名为“期间”。该值包含数字和文本,如“Period”。数据类型是“对象”。我想删除“Peri
我正在尝试使用 pandas.to_numeric 将系列转换为 int。 df['numeric_col'] = pd.to_numeric(df['numeric_col'], errors='r
我遇到了一个关于 Pandas 的奇怪问题。 我不知道我哪里错了? 但是当我创建一个新的df时,似乎没有问题。喜欢 知道为什么吗? 编辑: sat=pd.read_csv("2012_SAT_Resu
我有一个带有 dtype('int64') 列的数据框.列中的值范围为 0-10。数据框有 770K 行和 56 列不同类型。当我运行下面的代码时,我得到 dtype('int64') .我原以为结果
将 pandas 数据帧(按列)从 float64 向下转换为 float32 会导致精度丢失,即使最大(9.761140e+02)和最小(0.000000e+00)元素适合 float32。 数据集
我收到来自 pandas.to_numeric() 的意外响应。如果我使用 to_numeric a = pd.Series(['1', '2', '3', np.nan]) b =
我正在寻找 pandas to_numeric() 的 bool 等价物我希望该函数尽可能将列转换为 True/False/nan,否则抛出错误。 我的动机是我需要自动识别和转换具有约 1000 列的
这个问题可能非常愚蠢,但我伤了脑筋想知道该怎么做 有一个包含 N 列的 pd.dataframe。我需要选择一些列,通过列的索引引用,然后将所有值转换为数字并在我的 dataframe 中重写该列 我
我正在尝试将薪水更改为整数,这样我就可以进行一些分析并绘制出他们每次投球的价格图表。当我尝试这样做时,它说数据框没有属性 to_numeric。我得到了 API DOC 的代码,所以我想知道发生了什么
使用这个示例数据框: >>> d = pd.DataFrame({'si': ['1', '2', 'NA'], 's': ['a', 'b', 'c']}) >>> d.dtypes # si
我是一名优秀的程序员,十分优秀!