📅  最后修改于: 2023-12-03 15:34:20.170000             🧑  作者: Mango
在使用pandas时,有时我们需要将数据类型转换成更适合数据分析的类型。而infer_objects()
方法可以自动将DataFrame中的列转换为适当的数据类型,从而提高内存使用效率。
DataFrame.infer_objects()
无
DataFrame类型的对象,返回类型与调用对象相同。
import pandas as pd
data = {'col1' : pd.Series(['1', '2', '3'],dtype='object'),
'col2' : pd.Series([1, 2, 3], dtype='int64'),
'col3' : pd.Series([1.0, 2.0, 3.0], dtype='float64')}
df = pd.DataFrame(data)
df = df.infer_objects()
print(df.dtypes)
输出结果为:
col1 object
col2 int64
col3 float64
dtype: object
在上述示例中,原DataFrame的第一列数据类型为object型,通过调用infer_objects()
方法,可以将其自动转换为int64型,而原DataFrame的第三列数据类型为float64型,由于已经是最适合数据分析的类型,因此不做任何变换。
在数据很大的情况下,使用infer_objects()
方法可以减少内存占用,从而提高处理效率。