使用Pytho做数据分析

Python数据探索-数据简单分析

数据挖掘与数据分析

数据挖掘发展史

数据挖掘是KDD的核心部分,它是指从数据集合中自动抽取隐藏再数据中的有用信息的非平凡过程,这些信息的表现形式有规则、概念、规律和模式等

数据挖掘的常用方法

分类

聚类

关联规则

智能推荐

时间序列

数据挖掘的通用流程

目标分析

数据抽取

数据探索

数据预处理

分析与建模

模型评价

数据校验

isnull用于判断是否为缺失值

pandas.DataFrame.isnull()

pandas.isnull(obj)

notnull用于判断是否为非缺失值

pandas.DataFrame.notnull()

pandas.notnull(obj)

count用于计算非缺失值

axis:这是一个可选参数,用于指定计算的轴向。默认值为0,意味着沿着列进行计算。如果设置为1,则沿着行进行计算。

level:这是一个可选参数,用于在具有多级索引的DataFrame中指定要在哪一级上进行计数。如果你的DataFrame没有多级索引,这个参数不会产生影响。

numeric_only:这也是一个可选参数,默认为False。当设置为True时,只对数值类型的列进行计数,忽略非数值类型的列(如字符串或布尔类型)。如果想对所有类型的列都进行计数,保持默认值即可。

pandas.DataFrame.count(axis=0,level=None,numeric_only=False)

异常值检测

异常值检测是数据分析中的一个重要环节,它有助于识别数据中的噪声或离群点,这些点可能会影响模型的训练结果或数据分析的准确性。以下是在Python中进行异常值检测的一些常用方法:

  1. Z-Score 方法
    Z-Score 是一种统计测量,表示一个值相对于平均值的距离,以标准差为单位。一般认为,Z-Score 绝对值大于3的数据点可以被视为异常值。

Python

1from scipy import stats

2import numpy as np

3import pandas as pd

4

5# 假设df是包含数值型数据的DataFrame

6z_scores = np.abs(stats.zscore(df))

7outliers = df[(z_scores > 3).any(axis=1)]

  1. IQR(四分位距)方法

IQR 是第一四分位数(Q1)和第三四分位数(Q3)之差,用于衡量数据的离散程度。一般认为,低于 Q1 - 1.5IQR 或高于 Q3 + 1.5IQR 的值为异常值。

Python

1Q1 = df.quantile(0.25)

2Q3 = df.quantile(0.75)

3IQR = Q3 - Q1

4outliers = df[~((df < (Q1 - 1.5 * IQR)) | (df > (Q3 + 1.5 * IQR))).any(axis=1)]

注意这里的逻辑取反是为了找出非异常值,如果要直接筛选异常值,应去掉

percentile(a,q,axis)用于计算百分位数

a:接收 amay_like(类数组 )。表示输人数组或可以转换为数组的对象。无默认值。

q:接收浮点类型的 aray_like。表示要计算的百分位数或百分位数的序列,必须在 0~100之间(含0和100)。无默认值:

axis:接收 int 类型的值、imnt元组、None。表示计算百分位数的一个或多个的轴默认值为 None

import pandas as pd

假设我们有一个数据系列

data = [23, 67, 34, 89, 12, 45, 68, 72, 39, 53]

将数据转换为pandas的Series或DataFrame

series = pd.Series(data)

计算75th百分位数

q75 = series.quantile(0.75)

print(f"75th Percentile: {q75}")

mean(axis,skipna)用于计算平均值

axis:接收 int 类型的值。表示所要应用的功能的轴,可选0和1。默认值为 None

skipna:接收 bool 类型的值。表示排除缺失值。默认值为 None

level:接收 int 类型的值或级别名称。表示标签所在级别。默认值为 None

data.mean()

std(axis,skipna,level,ddof)用于计算标准差

axis:接收 int 类型的值。表示所要应用的功能的轴,可选0和 1。默认值为 None

skipna:接收 bool类型的值。表示排除缺失值。默认值为 None

level:接收int类型的值或级别名称。表示标签所在级别。默认值为 None

ddof:接收 int 类型的值。表示 Delta 的自由度。默认值为1

data.std()

描述性统计分析

相关性分析

corr()函数的用法

import pandas as pd

假设df是一个包含两列数值数据的DataFrame

data = { 'Column1': [1, 2, 3, 4, 5], 'Column2': [2, 4, 6, 8, 10] }

df = pd.DataFrame(data)

计算'Column1'和'Column2'之间的相关系数

correlation = df['Column1'].corr(df['Column2'])

print("Correlation between Column1 and Column2:", correlation)

cut()函数用法

cut()函数在Python的数据分析中是一个非常实用的工具,特别是在使用Pandas库时。这个函数主要用于将连续的变量(如数值型数据)分割成几个区间或"bins",从而将连续数据离散化。这对于数据分组、创建直方图或进行数据分箱等操作非常有用。

基本语法

pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise')

x:需要切割的数组或序列,通常是一列数值数据。

bins:分割区间(bins)的边界。可以是整数(表示想要的区间数量),或者一个具体的区间边界值的列表或数组。

right:布尔值,默认为True,表示区间是右闭合的([a, b))。如果设为False,则区间变为左闭合((a, b])。

labels:可选参数,用于指定每个区间的标签。如果给定,返回的Series或DataFrame将包含这些标签而不是区间表示。

retbins:布尔值,默认为False。如果为True,函数会同时返回区间边界(bins)。

precision:指定区间边界显示的小数点后位数。

include_lowest:布尔值,默认为False。若为True,则确保区间包含最小值,即使最小值等于区间的起始点。

duplicates:处理区间边界重复时的行为,默认为'raise',即当区间边界有重复时抛出错误。

#销售频数

bins=[0,200,400,600,800]

cate = pd.cut( data['销售额(元)'], bins, right=False,

labels=['低销量','中等销量','中高等销量','高等销量'] )

data['销量区间']=cate

describe()函数用法

df.describe()

对于数值型列,describe()的输出通常如下:

count: 非空值的数量。

mean : 平均值。

std : 标准差。

min : 最小值。

25% : 第一四分位数(下四分位数)。

50% : 中位数(第二四分位数)。

75% : 第三四分位数(上四分位数)。

max : 最大值。

集中趋势度量

均值:df.mean()

中位数:df.median()

众数:df.mode()

方差:df.var()

偏度:df.skew()

峰度:df.kurt()

相关推荐
数据科学小丫1 小时前
PowerBI 可视化操作——常用视觉对象(堆积条形图、折线图、堆积柱形图、着色地图、丝带图、分解树、瀑布图、散点图...共计 16 种视觉对象)
数据分析·数据可视化·powerbi
70asunflower2 小时前
3.4 数据分析实战:体检报告
数据挖掘·数据分析
70asunflower2 小时前
数据分析实战教程:从思维到落地
数据挖掘·数据分析
babe小鑫2 小时前
财务经理学数据分析可行性分析
信息可视化·数据挖掘·数据分析
babe小鑫2 小时前
2026市场投放学数据分析的价值分析
数据挖掘·数据分析
clarance20152 小时前
基于NLP的BI工具DataFocus实战:从自然语言查询到智能数据分析
人工智能·经验分享·自然语言处理·数据分析
源码之家3 小时前
计算机毕业设计:Python基于知识图谱与深度学习的医疗智能问答系统 Django框架 Bert模型 深度学习 知识图谱 大模型(建议收藏)✅
python·深度学习·机器学习·数据分析·flask·知识图谱·课程设计
yzx9910133 小时前
软件脚本定制开发:从需求到交付的技术实战指南
大数据·人工智能·数据挖掘
条俐开水喉3 小时前
U位资产×大数据分析:数据驱动的容量优化与风险防控
数据分析·u位资产管理