目的:Python数据分析基础
Python基础:
Python环境安装
Python基本用法:控制语句、函数、文件读写等
Pyhton基本数据结构:字典、集合等
Pandas 环境安装
Pandas 数据结构:Series和Dataframe
实践:
各种描述性数据分析,使用Python实践一遍
可以用Python自己实现中位数之类的计算,也可以直接调用Pandas的库
数据可以自己随意造一些,也可以网上自己找数据集
一、编写Python的工具介绍
对很多人来说,Python变成语言拥有强大的吸引力。在数据科学、交互式计算以及数据可视化等领域,Python被广泛应用,它支持的类库越来越多。所以考虑Python在通用软件工程上的总体实力,它便成为搭建数据应用的首选语言。
我首选的是直接安装Anaconda,Anaconda 是一个python的发行版,包括了python和很多常见的软件库, 和一个包管理器conda。常见的科学计算类的库都包含在里面了,使得安装比常规python安装要容易。装了anaconda就不需要装python了。
Anaconda的界面
打开Anaconda,经常使用Jupyter notebook来编写运行python
二、Pyhon基础用法
语句缩进:非特殊原因下推荐使用四个空格作为默认缩进,而不是使用tab
注释:#号之后的文本自动被Python解释器忽略,因此通常使用#在代码中添加注释
变量和参数传递
在Python中对一个变量(或变量名)赋值时,创建了一个指向等号右边对象的引用。
赋值a,再将a的值赋值给b。
二元运算和比较运算
算数运算符
比较运算符
逻辑运算符
身份运算符
三、数据结构
元组:
元组是一种固定长度,不可变的Python对象序列,特点是通常需要用括号将值包起来
元组的元素可以通过中括号[ ]来获取,Python中的序列索引是从0开始的
虽然对象元组中存储的对象其自身是可变的,但是元组一旦创建,各个位置上的对象是无法修改的。
列表:
与元组不同,列表的长度是可变的,它所包含的内容也是可以修改的。
可以使用中括号[ ]或者list类型好书来定义列表
字典
dict(字典)是Python内建数据结构中最重要的。用大括号{ }是创建字典的一种方式,在字典中用逗号将键值对分隔:
四、Pandas
Series和DataFrame是pandas两个常用的工具数据结构。Series是一种一维的数组型对象,它包含一个值序列和索引,如果索引没有明确指定的话,默认是0到N-1(N为数据的长度)。可以认为Series是一个定长有序的字典,因为它将索引值和数据值按位置配对。
DataFrame表示的是矩阵的数据表,包含已排序的列集合,每一列的值类型可以不同,数值型、字符串、布尔值都可以,它既有行索引也有列索引。
import numpy as np
import pandas as pd
创建测试数据
s1=pd.Series([31,28,9,13,5,19,22,36,8,9])
众数
zs=np.argmax(np.bincount(s1))
中位数
zws=np.median(s1)
平均数
mu=s1.mean()
分位数
fws_025=s1.quantile(0.25)
fws_050=s1.quantile(0.5)
fws_075=s1.quantile(0.75)
极差
jc=max(s1)-min(s1)
方差(总体方差)
fc=np.var(s1)
标准差
bzc=np.std(s1)
平均差
pjc=s1.mad()
峰度值
fdz=s1.kurt()
偏态值
ptz=s1.skew()
print("-"*50)
print("测试数据如下:")
print(s1)
print("-"*50)
print("众数为:%.2f" % zs)
print("中位数为:%.2f" % zws)
print("平均数为:%.2f" % mu)
print("分位数分别为:%.2f %.2f %.2f" % (fws_025,fws_050,fws_075))
print("极差为:%.2f" % jc)
print("平均差为:%.2f" % pjc)
print("峰度值为:%.2f" % fdz)
print("偏态值为:%.2f" % ptz)
结果如下:
测试数据如下:
0 31
1 28
2 9
3 13
4 5
5 19
6 22
7 36
8 8
9 9
dtype: int64
众数为:9.00
中位数为:16.00
平均数为:18.00
分位数分别为:9.00 16.00 26.50
极差为:31.00
平均差为:9.20
峰度值为:-1.29
偏态值为:0.46