第九节 pandas变量列的重命名、筛选,删除以及变量类型转换

import pandas as pd

pd.options.display.max_rows = 10#设置显示行数

df1 = pd.read_csv(r'E:\anacondatest\PythonData\高校信息.csv',encoding='gbk')

#数据框基本信息
df1.info()

# 打印前10行
print(df1.head(10))

# 打印后10行
print(df1.tail(10))

# 查看变量名
print(df1.columns)
# 返回Index(['名次', '学校名称', '总分', '类型', '所在省份', '所在城市', '办学方向', '主管部门'], dtype='object')


df1.columns = ['名次1', '学校名称1', '总分1', '类型1', '所在省份1', '所在城市1', '办学方向1', '主管部门1']
print(df1)

# 指定修改某一列,或者多列的变量名,inplace是否直接替换原来的数据框
df2= df1.rename(columns = {'学校名称1':'xuxiaomingcheng',"总分1":"总分"}, inplace=False)
print(df2)

# 筛选列
print(df1.名次)  # 返回的是series类型
print(df1['名次','总分'])  # 返回的是数据框

# 删除变量列,inplace是否替换原来的数据框,尽量不要在原来的数据框上直接删除列
df3 = df1.drop(columns=['名次','总分'], inplace=False)

# 变量类型转换,pandas具有的数据类型是python和numpy的混合类型
print(df1.dtypes)  # 查看各列的数据类型
df1.astype('str', errors='ignore')  # 修改整个数据框,errors报错忽略
df1.名次.astype("str")  # 只修改某一列的数据类型
# 使用指定转换类型的函数,可以配合df.apply来批量进行多列的转换
'''pd.to_datetime()
pd.to_numeric()
pd.to_timedelta()
pd.to_srting()'''
pd.to_numeric(df1.总分)
df1(['名次', '总分']).astype('str').apply(pd.to_numeric)
# 基于数据特征进行自动转换,出错不易排除
df1.infer_objects()

猜你喜欢

转载自www.cnblogs.com/kogmaw/p/12561934.html
今日推荐