第二周:Python数据分析基础

162 阅读1分钟

本周任务

本周主要知识点包括Python基础、Pandas基础。Python基础不赘述了,重点学习Pandas的Series和Dataframe。

  • Series 是一维带标签(索引)的数组,它可以包含任何数据类型。Series 可以通过标签(索引)来定位。
  • DataFrame 是二维的带标签的数据结构,即数据以行和列的表格方式排列,与数据库table类似。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