Pandas DataFrame基础知识
1.1简介
Pandas是一个用于数据分析的开源Python库。具有两种数据实现:Dataframe、Series格式。
Dataframe表示整个电子表格或矩形数据。
Series表示单列,具体来说是Dataframe的子集,表示其中的一列。
1.2加载数据集
导库
import pandas import pandas as pd
示例
df = pandas.read_csv(r'../file_name',sep='\t') print(df.head())
常用属性与函数: type() #内置函数查看变量的数据类型 例:type(df) df.shape #获取行数与列数 df.colums #获取列名 df.dtypes #获取每一列的类型 df.info() #获取更多数据信息
1.3查看列、行和单元格
1.3.1列子集
#获取单列 colums_1 = df['colums_name'] #获取多列 colums_name = df[['colums_1','colums_2','colums_3']] #使用函数查看获取的列 colums_1.head() colums_1.tail() colums_name.head() colums_name.tail()
1.3.2行子集
#两种方法 loc 与 iloc #loc 基于索引标签获取行子集(行名,时间序列,下面的例子是行名等于行号的情况) #iloc 基于行索引获取行子集(行号) #获取第一行,从0开始计数 df.loc[0] #获取最后一行 返回的是Series类型 df_row_index = df.shape[0] - 1 df.loc[df_row_index] #函数tail返回最后一行,返回的是Daraframe数据类型 df.tail(n=1) #loc 函数中不能输入没有的标签名 例如 -1 会报错
#loc选取多行 #选取的2,12,112,1112行 df.loc[[1,11,111,1111]]
#iloc 获取单行 正索引、负索引 #获取第2行 df.iloc[1] #获取第100行 df.iloc[99] #获取最后一行 df.iloc[-1] #获取多行 df.iloc[1,11,111,1111]
1.3.3混合获取行列子集
loc 和 iloc 的一般语法是使用带逗号的方括号。逗号左边是待取行子集的行值,右边是待取列子集的列值,即df.loc[[行],[列]]、
df.iloc[[行],[列]]。
#牢记loc 与 iloc的区别 df.loc['行名','列名'] df.loc[[行名,行名],['列名1','列名2']] df.iloc[[行号],[列号]] df.iloc[[行号1,行号2],['列号1','列号2']]
1.4分组和聚合计算
1.4.1分组方式
#groupby()函数 df.groupby('条件')['显示的列'].聚合函数 例:df.groupby('year')['age'].mean() 显示每一年的平均年龄 #多条件分组 例:df.groupby(['year','continent'])[['age','gdp']].mean() 显示每一年每个国家的平均年龄与平均GDP #平铺函数 reset_index() 美观但是失去了分层感
1.4.2分组频率计算
1.5基本绘图
乱码是因为没有设置中文默认显示