看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas 顶级函数 pd.to_numeric() 将参数转换为数值类型。默认返回 dtype 是 float64 或 int64,具体取决于提供的数据。 使用 downcast 参数获取其他数据类型。
pandas.to_numeric() 是 pandas 顶级函数,不是其他对象的方法。它的语法是:
pandas.to_numeric(arg, errors='raise', downcast=None)
参数的意义为:
解析成功时的数值。 返回类型取决于输入。 如果是 Series,则为 Series,否则为 ndarray。
请注意,如果传入的数字非常大,可能会出现精度损失。由于 ndarray 的内部限制,如果数字小于 -9223372036854775808 (np.iinfo(np.int64).min) 或大于 18446744073709551615 (np.iinfo( np.uint64).max) 被传入,它们很可能会被转换为浮点数,以便它们可以存储在 ndarray 中。 这些警告同样适用于 Series,因为它在内部利用了 ndarray。
以下是一些应用示例。
# 单独的 Series 并转换为数字
s = pd.Series(['1.0', '2', -3])
pd.to_numeric(s)
'''
0 1.0
1 2.0
2 -3.0
dtype: float64
'''
pd.to_numeric(s, downcast='float')
'''
0 1.0
1 2.0
2 -3.0
dtype: float32
'''
pd.to_numeric(s, downcast='signed')
'''
0 1
1 2
2 -3
dtype: int8
'''
s = pd.Series(['apple', '1.0', '2', -3])
pd.to_numeric(s, errors='ignore')
'''
0 apple
1 1.0
2 2
3 -3
dtype: object
'''
pd.to_numeric(s, errors='coerce')
'''
0 NaN
1 1.0
2 2.0
3 -3.0
dtype: float64
'''
# 支持可空整数和浮点 dtype 的向下转换:
s = pd.Series([1, 2, 3], dtype="Int64")
pd.to_numeric(s, downcast="integer")
'''
0 1
1 2
2 3
dtype: Int8
'''
s = pd.Series([1.0, 2.1, 3.0], dtype="Float64")
pd.to_numeric(s, downcast="float")
'''
0 1.0
1 2.1
2 3.0
dtype: Float32
'''
更新时间:2022-06-12 17:23:16 标签:pandas python 数字 类型