美文网首页
Task01 数据加载及探索性分析

Task01 数据加载及探索性分析

作者: 趁着年轻去旅游 | 来源:发表于2021-06-15 23:17 被阅读0次

第一节 数据载入及初步观察

本节主要是库引用、数据载入、数据读取、数据观察及数据保存。特别适合我这样的小白选手,手把手。

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提供的函数方法,熟悉了数据分析的方法及思维。需要建立对数据的分析的思维然后再通过函数查询处理,最后得出结果分析。

相关文章

网友评论

      本文标题:Task01 数据加载及探索性分析

      本文链接:https://www.haomeiwen.com/subject/eukaeltx.html