Pandas是Python中数据分析的重要库之一,数据类型转换和查看数据类型是数据分析的基础,本攻略聚焦于Pandas数据类型转换及数据类型查看的使用。
Pandas数据类型转换df.astype()的使用
1.语法格式
DataFrame.astype(dtype, copy=True, errors='raise')
2.参数说明
- dtype:指定数据类型,可以是数据类型的字符串表示,也可以是Python数据类型或Numpy数据类型。
- copy:可选参数,默认为True,生成新的副本,如果为False,则返回一个视图。
- errors:可选参数,默认为‘raise’,表示遇到错误时抛出异常,其他值有‘ignore’表示忽略错误,‘coerce’表示尝试转换赋值无效值为缺失值NaN。
3.示例说明
import pandas as pd
import numpy as np
data = {'name': ['Lucas', 'Lily', 'Tom', 'Marry', 'John'],
'age': [28, 25, 19, np.nan, 35],
'gender': ['M', 'F', 'M', 'F', 'M']}
df = pd.DataFrame(data)
# 查看数据类型
print(df.dtypes)
# age列数据类型转换成整型
df['age'] = df['age'].astype('int')
print(df.dtypes)
运行结果:
name object
age float64
gender object
dtype: object
name object
age int64
gender object
dtype: object
本示例中,首先创建了一个包含三列数据的DataFrame对象,其中age列的数据类型为float64格式。接下来通过astype方法将age列的数据类型转换为整型,查看修改后的数据类型,可以发现数据类型已经变为int64格式。
在数据类型转换过程中,存在一些无效值的问题,此时需要使用errors参数指定处理方法。例如下面的示例中,我们将age列的第4个值设置为字符串类型,此时我们将演示errors参数的应用。
import pandas as pd
import numpy as np
data = {'name': ['Lucas', 'Lily', 'Tom', 'Marry', 'John'],
'age': [28, 25, 19, 'N/A', 35],
'gender': ['M', 'F', 'M', 'F', 'M']}
df = pd.DataFrame(data)
# age列数据类型转换成整型
df['age'] = df['age'].astype('int', errors='ignore')
print(df.dtypes)
# age列数据类型尝试转换无效值为缺失值
df['age'] = df['age'].astype('int', errors='coerce')
print(df)
运行结果:
name object
age object
gender object
dtype: object
name age gender
0 Lucas 28 M
1 Lily 25 F
2 Tom 19 M
3 Marry N/A F
4 John 35 M
结果中,第一个尝试使用了参数ignore(忽略错误),没有发生类型转换,而原数据类型保持不变;第二个示例尝试将无效值N/A转换成缺失值NaN。
数据类型查看df.dtypes的使用
1.语法格式
DataFrame.dtypes
2.参数说明
该方法不需要输入参数。
3.示例说明
import pandas as pd
import numpy as np
data = {'name': ['Lucas', 'Lily', 'Tom', 'Marry', 'John'],
'age': [28, 25, 19, np.nan, 35],
'gender': ['M', 'F', 'M', 'F', 'M']}
df = pd.DataFrame(data)
# 查看数据类型
print(df.dtypes)
运行结果:
name object
age float64
gender object
dtype: object
上述示例中,我们创建了一个包含三列数据的DataFrame对象,通过df.dtypes方法可以查看每列的数据类型。它返回一个Series对象,其中包含DataFrame对象每列的数据类型。这里可以看到,name和gender列的数据类型为object类型,而age列的数据类型为float64类型。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas数据类型转换df.astype()及数据类型查看df.dtypes的使用 - Python技术站