ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

动手学数据分析 01

2021-12-14 20:01:01  阅读:167  来源: 互联网

标签:数据分析 index 01 索引 df DataFrame 动手 pd csv


课程现分为三个单元,大致可以分为:数据基础操作,数据清洗与重构,建模和评估。

1 第一章:数据载入及初步观察

第一部分:我们获得一个要分析的数据,我要学会如何加载数据,查看数据,然后学习Pandas的一些基础操作,最后开始尝试探索性的数据分析。

1 第一章:数据加载

1.1载入数据

import numpy as np
import pandas as pd
# 相对路径
df = pd.read_csv('train.csv')
df.head(3)

# 绝对路径
df = pd.read_csv('/Users/chenandong/Documents/datawhale数据分析每个人题目设计/招募阶段/第一单元项目集合/train.csv')
df.head(3)

每1000行为一个数据模块,逐块读取

chunker = pd.read_csv('train.csv', chunksize=1000)

修改表头

df = pd.read_csv('train.csv', names=['乘客ID','是否幸存','仓位等级','姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登船港口'],index_col='乘客ID',header=0)
df.head()

查看数据基本信息

df.info()

观察数据

# 前十行数据
df.head(10)

# 后15行数据
df.tail(15)

判断数据是否为空,为空的地方返回True,其余地方返回False

df.isnull().head()

保存数据为csv格式

# 注意:不同的操作系统保存下来可能会有乱码。大家可以加入`encoding='GBK' 或者 ’encoding = ’utf-8‘‘`
df.to_csv('train_chinese.csv')

dataframe、series、ndarray。

ndarray

ndarray是Numpy库中的矩阵模块,可以创建n维的数组对象,所有元素必须是相同的类型,比如你的元素是字符,那就全部都是字符。

  • 创建
import numpy as np
arr=np.array([[1,2,3],[4,5,6],[7,8,9]],dtype=np.int32 )
print(arr)

Series

类似于1维数组,由索引+数值组成

  • 创建
import pandas as pd
s=pd.Series(['a','b','c','d'])

DataFrame

重磅来了!dataframe是非常常见的一个表格型数据结构,每一列可以是不同的数值类型,有行索引、列索引。提到它就会自然想到Pandas这个包。平常用Python处理xlsx、csv文件,读出来的就是dataframe格式。

  • 创建

可以单独创建,也可以由别的类型转换过来:列表、series、字典等等。

import pandas as pd 
df=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],columns=['a','b','c'])

 【数据分析入门】之:dataframe和series - 知乎

loc和iloc的区别

loc:works on labels in the index.
iloc:works on the positions in the index (so it only takes integers).

也就是说loc是根据index来索引,比如下边的df定义了一个index,那么loc就根据这个index来索引对应的行。iloc并不是根据index来索引,而是根据行号来索引,行号从0开始,逐次加1。

In [1]: df = DataFrame(randn(5,2),index=range(0,10,2),columns=list('AB'))

In [2]: df
Out[2]: 
          A         B
0  1.068932 -0.794307
2 -0.470056  1.192211
4 -0.284561  0.756029
6  1.037563 -0.267820
8 -0.538478 -0.800654

In [5]: df.iloc[[2]]
Out[5]: 
          A         B
4 -0.284561  0.756029

In [6]: df.loc[[2]]
Out[6]: 
          A         B
2 -0.470056  1.192211

 对数据进行排序(升序)

# 具体请看《利用Python进行数据分析》第五章 排序和排名 部分

#自己构建一个都为数字的DataFrame数据
frame = pd.DataFrame(np.arange(8).reshape((2, 4)), 
                     index=['2', '1'], 
                     columns=['d', 'a', 'b', 'c'])
frame

【代码解析】

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 对象的索引行

# 大多数时候我们都是想根据列的值来排序,所以,将你构建的DataFrame中的数据根据某一列,升序排列
frame.sort_values(by='c', ascending=True)
# 让行索引升序排序
frame.sort_index()
# 让列索引升序排序
frame.sort_index(axis=1)
# 让列索引降序排序
frame.sort_index(axis=1, ascending=False)
# 让任选两列数据同时降序排序
frame.sort_values(by=['a', 'c'], ascending=False)

标签:数据分析,index,01,索引,df,DataFrame,动手,pd,csv
来源: https://blog.csdn.net/qq_40478639/article/details/121938132

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有