1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 数据分析与挖掘-python常用数据探索函数

数据分析与挖掘-python常用数据探索函数

时间:2023-11-25 21:48:47

相关推荐

数据分析与挖掘-python常用数据探索函数

在python中,主要两个库用于数据探索,一个是Pandas(用于数据分析,这可能是数据分析领域最强的python库),另一个是Matplotlib(用于数据可视化,绘制图表,起源于MATLAB)。

1.基本统计特征函数

下面介绍的函数主要作为Pandas的两大基本对象Series和DataFrame的方法出现。

给出如下数据。

测试代码:

# -*- coding: utf-8 -*-import pandas as pdsource = './test.xlsx'data = pd.read_excel(source, index_col='ID')print("打印数据类型")print(type(data))data_0 = data["A"]print("打印数据类型")print(type(data_0))# 求和print("求和")print(data.sum())print(data_0.sum())print("计算算数平均数")# 计算算数平均数print(data.mean())print(data_0.mean())# 计算方差print("计算方差")print(data.var())print(data_0.var())# 计算标准差print("计算标准差")print(data.std())print(data_0.std())# 计算相关系数print("计算相关系数")# method为计算方法,可选为pearson,kendall,spearmanprint(data.corr(method='pearson'))print(data["A"].corr(data["B"]))# 计算协方差矩阵print("计算协方差矩阵")print(data.cov())print(data.loc[101].cov(data.loc[102]))# 计算阶矩print("计算阶矩")print(data.skew())print(data_0.kurt())# 基本统计量print("基本统计量")print(data.describe())print(type(data.describe()))print(data.describe().loc["mean"])

运行结果:

2.拓展统计特征函数

数据类型拥有的累计函数。

Pandas拥有的累计函数。

pd.rolling_method(data,k)

上面的method替换名字为基本函数名称如pd.rolling_var(data,k)为每k列计算一次方差。

注意:新版本Pandas已经将这些方法修改到基础类型中了,什么的语句此时应该data=data.rolling(k).var()。

测试代码:

import pandas as pdimport matplotlib.pyplot as pltdata = pd.Series(range(2, 9))# 累计计算print("累计计算")print(data.cumsum())print(data.cumprod())print(data.cummax())print(data.cummin())

运行结果:

3.统计作图函数

Pandas对Matplotlib命令做了不少简化,因此常常结合使用。

常用配置代码:

import matplotlib.pyplot as plt# 显示中文,不加为方框plt.rcParams['font.sans-serif'] = ['SimHei']# 显示负号plt.rcParams['axes.unicode_minus'] = False# 创建图像区域,指定比例(可以不指定)plt.figure(figsize=(8, 6))

测试代码:

import pandas as pdimport matplotlib.pyplot as pltimport numpy as np# 显示中文,不加为方框plt.rcParams['font.sans-serif'] = ['SimHei']# 显示负号plt.rcParams['axes.unicode_minus'] = False# 创建图像区域,指定比例(可以不指定)plt.figure(figsize=(8, 6))# 绘制线性图x = np.linspace(0, 2*np.pi, 50)y = np.sin(x)plt.plot(x, y, 'bp--')plt.show()# 也可以直接用DataFrame或者Series调用plot方法,指定绘图类型(kind),默认index为横坐标plt.figure()data = pd.DataFrame([[1, 2, 3], [2, 3, 4]])data.plot(kind='line', )plt.show()# 饼图plt.figure()labels = ["A", "B", "C", "D"]sizes = [15, 30, 45, 10]colors = ['yellow', 'green', 'lightskyblue', 'lightcoral']explode = [0, 0.1, 0, 0]plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=90)plt.axis('equal')plt.show()# 条形图plt.figure()x = np.random.randn(1000)plt.hist(x, 10)plt.show()# 箱型图plt.figure()D = pd.DataFrame([x, x+1]).TD.plot(kind='box')plt.show()# 误差条形图error = np.random.randn(10)y = pd.Series(np.sin(np.arange(10)))y.plot(yerr=error)plt.figure()plt.show()

运行结果:

具体代码包括实战项目可以查看我的github。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。