第一节 数据载入及初步观察
本节主要是库引用、数据载入、数据读取、数据观察及数据保存。特别适合我这样的小白选手,手把手。
1、库引用
Pandas 是 Python 语言的一个扩展程序库,用于数据分析。Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。
import numpy as np
import pandas as pd
2、数据载入
df = pd.read_csv('train.csv') //相对路径
df = pd.read_csv('/Users/tony/Documents/datawhale数据分析每个人题目设计/招募阶段/第一单元项目集合/train.csv') //绝对路径
df.read(10)
3、数据读取
chunker = pd.read_csv('train.csv' , chunkersize = 1000) //逐块读取,每个块100条数据迭代读取
在数据很大的时候,如果一次性全部读取数据,会导致服务器缓慢,可以按块读取数据或者制定读取某几行数据
df = pd.read_csv('train.csv', names=['乘客ID','是否幸存','仓位等级','姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登船港口'],index_col='乘客ID',header=0) //修改列的名称,可以转换成中文,方便理解
4、数据观察
df.info() //查看数据的基本信息,可以查看涉及多少列并且这些列中有多少为空
df.head(10) //查看前10条数据
df.tail(10) //查看后10条数据
5、数据保存
df.to_csv('train_chinese.csv') //当前修改的数据,保存到目录下,形成新的文档
第二节 pandas基础
1.pandas数据类型
Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据)。Series 是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。
data = {'水果':'梨子','动物':'老虎','植物':'水仙'}
example = data.Series(data)
data1 = {'星期':['星期一','星期二','星期三','星期四','星期五','星期六','星期天']
'月份':['一月','二月','三月','四月','五月','六月','七月']}
example1 = data1.DataFrame(data1) //DataFrame的数据要一致
2.DataFrame数据操作
df = pd.read_csv('train.csv')
df.columns //查看有哪些列
df.Cabin.head(3) //查看Cabin这列的前三条数据
df['Cabin'].head(3) //查看Cabin这列的前三条数据
del df.Cabin //删除Cabin这一列
df.drop(['Cabin'],axis=1)//隐藏Cabin这一列
2.数据筛选
df[df["Age"]<10] //筛选年纪小于10岁
midage = df[(df["Age"]>10)& (df["Age"]<50)] //筛选年纪在10岁到50岁之间
mirage = midage.reset_index(drop=True) //针对midage重新获取index,drop=true为去掉之前的数据列
midage.loc[[100],['Pclass','Sex']] //查询100行的'Pclass','Sex’两列的数据
midage.iloc[[100,105,108],[2,3,4]] //查询100、105、108行的2、3、4列的数据
第三节 探索性数据分析
1.了解数据
frame = pd.DataFrame(np.arange(8),reshape(2,4),index=['2', '1'],columns=['d', 'a', 'b', 'c'])
pd.DataFrame() :创建一个DataFrame对象 np.arange(8).reshape((2, 4)) : 生成一个二维数组(2*4),第一列:0,1,2,3 第二列:4,5,6,7 index=['2, 1] :DataFrame 对象的索引列 columns=['d', 'a', 'b', 'c'] :DataFrame 对象的索引行
frame.sort_values(by='c', ascending=True) //依据C列升序
frame.sort_index() //行索引升序
frame.sort_index(axis=1) //列索引升序
frame.sort_index(axis=1, ascending=False) //列索引降序
frame.sort_values(by=['a', 'c'], ascending=False) //a、c两列同时降序
frame1_a = pd.DataFrame(np.arange(9.).reshape(3, 3), columns=['a', 'b', 'c'], index=['one', 'two', 'three']) frame1_b = pd.DataFrame(np.arange(12.).reshape(4, 3), columns=['a', 'e', 'c'], index=['first', 'one', 'two', 'second'])
frame1_a + frame1_b // 两个DataFrame相加会产生新的DataFrame,对应会相加不存量的补齐为null
frame1_a.describe() //frame的基本统计信息
总结
初步了解了pandas函数,简单查询了数据源。通过pandas提供的函数方法,熟悉了数据分析的方法及思维。需要建立对数据的分析的思维然后再通过函数查询处理,最后得出结果分析。