数据笔记第二周:Python基础语法学习

目的:Python数据分析基础
Python基础:
Python环境安装
Python基本用法:控制语句、函数、文件读写等
Pyhton基本数据结构:字典、集合等
Pandas 环境安装
Pandas 数据结构:Series和Dataframe

实践:
各种描述性数据分析,使用Python实践一遍
可以用Python自己实现中位数之类的计算,也可以直接调用Pandas的库
数据可以自己随意造一些,也可以网上自己找数据集

一、编写Python的工具介绍
对很多人来说,Python变成语言拥有强大的吸引力。在数据科学、交互式计算以及数据可视化等领域,Python被广泛应用,它支持的类库越来越多。所以考虑Python在通用软件工程上的总体实力,它便成为搭建数据应用的首选语言。

我首选的是直接安装Anaconda,Anaconda 是一个python的发行版,包括了python和很多常见的软件库, 和一个包管理器conda。常见的科学计算类的库都包含在里面了,使得安装比常规python安装要容易。装了anaconda就不需要装python了。

image.png

Anaconda的界面

打开Anaconda,经常使用Jupyter notebook来编写运行python


image.png

二、Pyhon基础用法
语句缩进:非特殊原因下推荐使用四个空格作为默认缩进,而不是使用tab
注释:#号之后的文本自动被Python解释器忽略,因此通常使用#在代码中添加注释


image.png

变量和参数传递

在Python中对一个变量(或变量名)赋值时,创建了一个指向等号右边对象的引用。

image.png

赋值a,再将a的值赋值给b。

二元运算和比较运算

image.png

算数运算符

image.png

比较运算符

image.png

逻辑运算符

image.png

身份运算符

三、数据结构

元组:

元组是一种固定长度,不可变的Python对象序列,特点是通常需要用括号将值包起来

image.png

元组的元素可以通过中括号[ ]来获取,Python中的序列索引是从0开始的

image.png

虽然对象元组中存储的对象其自身是可变的,但是元组一旦创建,各个位置上的对象是无法修改的。

列表:

与元组不同,列表的长度是可变的,它所包含的内容也是可以修改的。

可以使用中括号[ ]或者list类型好书来定义列表

image.png

字典

dict(字典)是Python内建数据结构中最重要的。用大括号{ }是创建字典的一种方式,在字典中用逗号将键值对分隔:

image.png

四、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

你可能感兴趣的:(数据笔记第二周:Python基础语法学习)