用jutyper写的一个小案例
我们先看数据集
在数据集的同级目录下新建一个项目
导入pandas库
import pandas as pd
读取文件并且只读前3行
df=pd.read_csv("top250.csv",nrows=3)
df
读取文件并且不要csv文件的第一行
df=pd.read_csv("top250.csv",nrows=3)
df
设置读取没有header并且自己设置自定义每一列的名
df=pd.read_csv("top250.csv",header=None,names=["第一列",'2列','3列','...',"第5列",'6列','7列','8列.','第九列'])
df
将处理好的文件保存
df.to_csv('new.csv',index=False,encoding='utf_8_sig')
打开new.csv
修改指定列单元格的内容:
修改前
修改后
df=pd.read_csv("Top250.csv")
df.loc[248,"短评"]='补充数据!'
df
#处理导演这列
df.loc[:,'导演']=df['导演'].str.replace('导演:',"").astype("string")
处理前面
处理后
新增一个列,根据分数划分电影等级
def get_type(x):
if x['评分']>9.5:
return "满分电影"
if x['评分']>9 and x['评分']<=9.5:
return "高分电影"
if x['评分']>8.7 and x['评分']<=9:
return "好评电影"
if x['评分']> 8.5 and x['评分']<=8.7:
return "优秀电影"
if x['评分']<8.5:
return "普通电影"
df.loc[:,'电影等级']=df.apply(get_type,axis=1)
新增前:
新增后:
#检测所以字段是否存在空值
df.isnull()
空值返回真
#检测短评字段是否存在空值
df['短评'].isnull()
空值返回真
#短评这一列,单独进行填充
df.loc[:,'短评']=df['短评'].fillna("数据缺失,补充评论!")
df.head(250)
补充前:
补充后:
截取内容
制作国家一列有点参与国家很多我们可以截取前2个字符当做主要的国家
截取前:
截取后:
df['制作国家'] = df['制作国家'].str[0:2]
保存文件
df.to_csv('top250_do.csv',index=False)
index=False,设置第一行索引不要保存到csv文件