数据预处理 1.1 pandas入门

1.DataFrame和Series简介

pandas是用于数据分析的开源Python库,可以实现数据加载,清洗,转换,统计数值,可视化等功能。pandas最基本的两种数据结构:

 1.DataFrame

  •   用来处理结构化数据(SQL数据表,Excel表格)
  •   可以简单理解为一张数据表(带有行标签和列标签)

  2.Series

  •   用来处理单列数据,也可以把DataFrame看作Series对象组成的字典或集合
  •   可以简单理解为数据表的一行或一列

2.加载数据集(csv和tsv)

2.1csv和tsv文件格式简介

他们都是存储一个二维表数据的文件类型。

注意:csv文件的列元素是用逗号分割,而tsv文件每列元素用\t分割。

2.1 加载数据集(tsv和csv)

注意:数据文件和编写的.ipynb要放在同一文件夹下

  1. 打开jupyter notebook
  2. 导入pandas包(pandas不是Python标准库,所以需要导入)
  3. 分别加载csv和tsv文件数据集
#如果想用pandas必须导入对应的jar包
import pandas as pd
#pd是我们给jar包起的名字(虚拟环境里必须先下载pandas)
#加载csv数据集
tips=pd.read_csv('./data/tips.csv')
tips
#加载tsv数据集
china=pd.read_csv('./data/china.tsv',sep='\t')
china

注意:加载tsv时必须加上sep参数,即sep='\t'

sep参数指定tsv文件的列元素分隔符为\t

3. DataFrame的行标签和列标签位置编号

以下方法当获取多个行数据或列数据时需要用[[]]

3.1 DataFrame的行标签和列标签

  1. 分别获取DataFrame的行标签和列标签
  2. 设置DAtaFrame的行标签 
#获取行标签
china.index
#获取列标签
china.columns
#设置行标签
#把year这一列数据当作行标签
china_df=china.set_index('year')

DataFrame设置行标签的时候不会改变原来的文件,而是返回一个新的副本 

3.2 DataFrame的行位置编号和列位置编号

 行位置编号和列位置编号都是从0开始依次递增

 默认情况下行标签和行位置编号是一样的

4. DataFrame获取指定行列标签

 4.1 loc函数获取指定行列标签数据

基本语法:

语法 说明
df.loc[[行标签...],[列标签...]]
df.loc[[行标签...]]
df.loc[:,[列标签...]]
df.loc[行标签]
df.loc[[行标签]]
df.loc[[行标签],列标签]
df.loc[行标签,[列标签]]
df.loc[行标签,列标签]

4.2 iloc函数获取指定行列标签数据

基本语法:

语法 说明
df.iloc[[行位置...],[列位置...]]
df.iloc[[行位置...]]
df.iloc[:,[列位置...]]
df.iloc[行位置]
df.iloc[[行位置]]
df.iloc[[行位置],列位置]
df.iloc[行位置,[列位置]]
df.iloc[行位置,列位置]

4.3 loc和iloc的切片操作

基本格式:

语法
df.loc[起始行标签:结束行标签,起始列标签:结束列标签]
df.iloc[起始行位置:结束行位置,起始列位置:结束列位置]

loc和iloc的不同是前者根据标签名切片,后者根据标签号切片

4.4 []语法获取指定行列的数据

基本格式:

语法
df[['列标签1','列标签2',...]]
df['列标签']
df[['列标签']]
df[起始行位置:结束行位置]

注意:第四个获取的对应数据不包括结束行位置

当需要隔n行取一次时:

#隔n行取一次
df[x:y:n]
#从第一行开始,每隔一行获取一行数据,一共获取3行
china_df[0:6:2]

你可能感兴趣的:(pandas,python,开发语言,大数据)