Task 1:数据载入及初步观察_笔记

1、读取和保存文件

读取:可用with open()的方法,也可用pd.read_csv()
保存:可用pd.to_csv()

shares.to_csv('titanic/train_chinese.csv')

1.1相对路径/绝对路径

相对路径:
①当要导入的文件在和当前文件在同一个目录下时,直接导入这个文件名。
②当要导入的文件或者目录和当前文件不同目录时,需要跳到这个要导入文件的父级目录,然后一级一级的用点号连接走过的目录或者文件。

1.2 read_csv()的参数使用

逐块读取用chunksize参数

import pandas as pd
shares = pd.read_csv('titanic/train.csv',sep=',',encoding='utf-8',chunksize=10)
for share in shares:
    print (share)

改表头改索引

import pandas as pd
shares = pd.read_csv('titanic/train.csv',sep=',',encoding='utf-8',header=0,index_col=['乘客ID'],names=['乘客ID','是否幸存','乘客等级(1/2/3等舱位)','乘客姓名','性别','年龄','堂兄弟/妹个数','父母与小孩个数','船票信息','票价','客舱','登船港口'])
shares

查看数据信息/观察前几行后几行/是否NULL

import pandas as pd
shares = pd.read_csv('titanic/train.csv',sep=',',encoding='utf-8',header=0,index_col=['乘客ID'],names=['乘客ID','是否幸存','乘客等级(1/2/3等舱位)', '乘客姓名','性别','年龄','堂兄弟/妹个数', '父母与小孩个数','船票信息','票价','客舱','登船港口'])
a=shares.head(6)
b=shares.isnull().tail(3)
c=shares.info()
d=shares.tail(7)
a,b,c,d

2、Pandas两常用数据结构(Series和Dataframe)

Series 就如同列表一样,一系列数据,每个数据对应一个索引值。
Series 就是“竖起来”的 list
DataFrame 是一种二维的数据结构,它的竖行称之为 columns,横行跟前面的 Series 一样,称之为 index,可以通过 columns 和 index 来确定一个主句的位置。

2.1 Series的构建与使用

import pandas as pd
a=['sun','flower','river']
pd.Series(a)

2.2DataFrame的构建与使用

2.2.1 DataFrame的构建
import pandas as pd
import numpy as np
dic={'name':['小明','小红','小芳'],'class':['math','chinese','english'],'score':[98,87,97]}
a=pd.DataFrame(dic,index=list('123'))
print(a)
2.2.2 DataFrame的使用
1)DataFrame数据的查看,元素,列行获取
import pandas as pd
import numpy as np
dep=pd.read_csv('titanic/train_chinese.csv',nrows=5)
a=dep['乘客姓名'].values
print('所有乘客姓名:\n',a,'\n')
print('index查看行名:\n',dep.index,'\n')
print('columns查看列名:\n',dep.columns,'\n')
2)DataFrame 列行删除
import pandas as pd
import numpy as np
dep=pd.read_csv('titanic/test.csv',nrows=5)
a=dep.drop(columns=['Cabin'],inplace=False)#inplace=False时不会替换原有对象
b=dep.drop(columns=['Cabin'],inplace=True)#inplace=True时是真删除
b=dep.drop(columns=['Cabin'],axis=1)
del dep['Parch']#也可直接del删除列
dep

注意:凡是会对原数组作出修改并返回一个新数组的,往往都有一个 inplace参数。如果手动设定为True(默认为False),那么原数组直接就被替换。也就是说,采用inplace=True之后,原数组名对应的内存值直接改变;

而采用inplace=False之后,原数组名对应的内存值并不改变,需要将新的结果赋给一个新的数组或者覆盖原数组的内存位置。

3)Dataframe 条件筛选
import pandas as pd
import numpy as np
dep=pd.read_csv('titanic/train.csv',nrows=100)
a=dep[dep['Age']<=10]
b=dep[(dep['Age']<=10)|(dep['Age']>60)] # \表示并集
midage=dep[(dep['Age']>10)&(dep['Age']<=60)] # &表示 交集
midage.head(7)

注意多个条件要加括号后在&或|。

4)Dataframe 的排序
import pandas as pd
import numpy as np
dep=pd.read_csv('titanic/train_chinese.csv')
a=dep.sort_values(by=['票价','年龄'],ascending=False)# 先后按照 "票价"和"年龄"来降序排列
b=dep.sort_values(by='票价',ascending=True)# 按照 "票价"来升序排列
c=dep.sort_index(ascending=False)# sort_index()对行索引 降序排列
d=dep.sort_index(axis=1,ascending=False)# sort_index(axis=1)对列索引 降序排列
5)查看基本统计信息
import pandas as pd
import numpy as np
dep=pd.read_csv('titanic/train_chinese.csv')
dep.describe()

各指标基本统计信息如上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值