一、PandasObject类型
PandasObject是pandas库在数据分析和处理中极其重要的一种基类,包含了Series和DataFrame两个派生类。可以将PandasObject视为pandas库的核心对象之一。
除了Series和DataFrame,还可以在PandasObject的基础上开发其他类型的数据结构。
在PandasObject基类中,定义了很多通用的方法和操作,如Index对象和MultiIndex对象的创建、distinct、intersection等原型方法,为子类的开发提供了很多基础的功能。
import pandas as pd
# 定义一个PandasObject对象
pobj = pd.core.generic.PandasObject([1,2,3,4])
# 判定pobj是否为PandasObject类型
print(isinstance(pobj, pd.core.generic.PandasObject)) # 输出 True
二、PandasObject转Float
PandasObject中往往会包含一些数值型数据,而在数据分析中,将这些数据做运算处理的前提往往是要将这些数值型数据从字符串转化为float类型。可以通过pandas库中的to_numeric方法实现这个目的。如果字符串不能被转换为float,该方法默认返回nan。
import pandas as pd
# Series对象中,将字符串类型的所有数据转化为float类型
s = pd.Series(['1', '2.5', '3.1', '-200', 'whatever'])
print(pd.to_numeric(s, errors='coerce'))
三、PandasObject转字符串
PandasObject对象同样包含将其他类型数据转换为字符串的方法,比如在数据分析过程中,将日期类型的数据转化为字符串类型的数据,方便后续的处理。可以通过pandas库中的astype方法实现这个目的。
import pandas as pd
import numpy as np
# Series对象中,将所有float类型的数据转化为字符串类型
s = pd.Series([1.0, 2.5, 3.1, -200.0, np.nan])
print(s.astype(str))
四、PandasObject转Float后变成了NAN
在数据清洗的过程中,有时会将一些无法识别的数据类型转化为NaN,以便后续的处理。可以通过pandas库中的to_numeric方法实现这个目的。如果字符串不能被转换为float,该方法默认返回nan。
import pandas as pd
# Series对象中,在数值类型转换的过程中,将"whatever"转换为NaN
s = pd.Series(['1', '2.5', '3.1', '-200', 'whatever'])
print(pd.to_numeric(s, errors='coerce'))
原创文章,作者:MAVU,如若转载,请注明出处:https://www.506064.com/n/138562.html
微信扫一扫
支付宝扫一扫