一.数据加载导入数据
1.安装和导入numpy和pandas
!pip install numpy
!pip install pandas
import numpy as np
import pandas as pd
2.使用相对路径和绝对路径载入数据
3.每1000行为一个数据模块,逐块读取
格式:chunker=pd. read _ csv('train. csv', chunksize=1000)
for i in chunker:
print(i)
read _ csv与read _ table对比: csv得到的表格对齐,分隔符为逗号,而table按每行输出,上下对应但不对齐,分隔符为制表符'\t'。可以通过在括号内添加sep=',/sep='\t'相互转化。
csv与tsv对比: tsv文件以制表符为分隔符,标准格式下,字段值之中不允许出现制表符。而csv文件以半角逗号为分隔符 (也可以是逗号、其他字符、字符串)。
4.将表头改成中文,索引改为乘客ID
二.初步观察
1.查看数据的基本信息(总列数,非空值数量,数据类型等): df.info ()
2.查看前/后几列数据 : df. head()/df. tail()
3.判断数据是否为空: df. isnull()
三.保存数据: df. to _ csv()
四.Pandas基础
1.查看列名: 全部——df. columns
某A列——df['A']/df. A
2.更改表头
法一: df=pd. read _ csv('train. csv', names=['表头1','表头2',....], index _ col=", header=0)
index _ col更改索引, header确定替换列名为第几行。
法二:创建字典
column={'header1':'表头1','header2':'表头2',……}
df. rename(columns=column, inplace=True)(inplace=True时, 直接在原始数据上进行重命名操作;
inplace=False时,返回重命名后新的DateFrame, 原始数据不变)
3.删除/隐藏某列: 删除: del
df['A']/df. drop(['A'], axis=1)
df=df. drop(['a'], axis=1)
(当axis=0时代表行, 1代表列)
隐藏: df. drop(['列名'],axis=1)
对比: del直接删除, drop需要再赋值才可(df=.drop..),否则并不改动原数据 (即隐藏),del若想实现“隐藏”,需要分别保存改动前后的数据。
4.数据筛选
范围筛选:df=df[(df[Age′]<50)8(df[Age′]>10)]筛选在10-50的数据, 并修改。
显示某行:
df. loc[[行数],['列名']]
df. iloc[[行数],['列数']]
对比: loc通过列名实现, iloc通过索引位置实现筛选。
(若在排序、分组、删除等操作后,要对修改后数据筛选, 注意使用reset _ index()重置索引。)
5.构建frame:frame=pd. DataFrame(np. arange(12). reshape(3,4),(构建从0-11, 3行4列的矩阵)
index=['1',0',2'], (行索引)
columns=['X','B','F','G']) (列索引)
对比数据结构DataFrame和Series:
DataFrame (二维) 每列可以有不同的数据类型, Series (一维) 仅有一种数据类型。
6.数据排序:
根据索引排序:
frame. sort _ index(axis=1, asxending=False)
(axis=1为列, False为降序, 默认=0,升序排序)
根据值排序:
frame. sort _ value(by='列名', ascending=") (不接受axis参数)
7.decribe查看数据基本信息: df. describe()
count:样本数据大小
mean:样本数据的平均值
std:样本数据的标准差
min:样本数据的最小值
25%:样本数据25%的时候的值
50%:样本数据50%的时候的值
75%:样本数据75%的时候的值
max:样本数据的最大值
8.筛选极值:
法一: python的max()/min()函数: max(表达式)法二: df. max()(若对象为DataFrame或Series)