我在我的代码中有这一行,它将我的数据转换为数字...
data["S1Q2I"] = data["S1Q2I"].convert_objects(convert_numeric=True)
事情是这样的,现在新的pandas版本(0.17.0)说这个函数被弃用了。这是错误:
FutureWarning: convert_objects is deprecated.
Use the data-type specific converters pd.to_datetime,
pd.to_timedelta and pd.to_numeric.
data["S3BD5Q2A"] = data["S3BD5Q2A"].convert_objects(convert_numeric=True)
所以,我去了新的文档,我找不到任何关于如何使用新函数来转换我的数据的示例...
它只说了这个:
"DataFrame.convert_objects已被弃用,取而代之的是特定类型的函数pd.to_datetime、pd.to_timestamp和pd.to_numeric (0.17.0中的新函数)(GH11133)。“
任何帮助都会很好!
发布于 2016-01-10 01:09:52
正如@EvanWright在评论中所解释的那样,
data['S1Q2I'] = pd.to_numeric(data['S1Q2I'])
是现在转换类型的首选方式。有关更改的详细说明,请参阅github PR GH11133。
发布于 2016-10-02 06:25:39
您可以使用apply as done here实现替换。下面是一个例子:
>>> import pandas as pd
>>> a = pd.DataFrame([{"letter":"a", "number":"1"},{"letter":"b", "number":"2"}])
>>> a.dtypes
letter object
number object
dtype: object
>>> b = a.apply(pd.to_numeric, errors="ignore")
>>> b.dtypes
letter object
number int64
dtype: object
>>>
但它在两个方面很糟糕:
我真的不喜欢熊猫的发展方向。我不经常使用R data.table,但到目前为止它似乎更好。
我认为具有原生、就地类型转换的数据表对于一个具有竞争力的数据分析框架来说是非常基本的。
发布于 2017-02-05 08:31:12
这取决于Pandas的哪个版本......如果您使用的是Pandas的0.18.0版本,则此类型将正常工作........
df['col name'] = df['col name'].apply(pd.to_numeric, errors='coerce')
另一个版本........
df['col name']=df.col name .astype(float)
https://stackoverflow.com/questions/33126477
复制相似问题