动手学数据分析 01

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

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

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

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)

Original: https://blog.csdn.net/qq_40478639/article/details/121938132
Author: Zzz_25
Title: 动手学数据分析 01

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/700397/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球