Pandas数据分析全流程——从数据导入到结果输出,这一篇就够了

Pandas数据分析全流程——从数据导入到结果输出,这一篇文章就够了 🎉 今天我们从数据导入、清洗、处理与转换,到数据探索与专业分析,再到可视化和结果输出,走了一遍完整的Pandas数据分析全流程。这里用SQLAlchemy作为数据库引擎示例,假设你使用的是SQLite数据库(其他数据库类似,只需更换连接字符串)。分析不同部门的薪资分布,不仅能看出部门间的差距,也能发现数据中的潜在问题,比如是否存在薪资异常或数据偏态现象。这一步,不仅是数据分析,更像是给数据做一次“全身检查”,发现每个细节问题,让决策者有据可依!数据清洗其实就是对症下药,让数据变得干净、标准,便于后续处理。 阅读详情

包含编程籽料、学习路线图、爬虫代码、安装包等!【点击领取】

前言
在数据科学和数据分析领域,Pandas无疑是Python生态中最重要、最受欢迎的数据处理库之一。无论你是数据分析师、数据科学家还是Python开发者,掌握Pandas的全流程操作都是必备技能。本文将带你从数据导入开始,逐步讲解数据清洗、转换、分析到最终结果输出的完整流程,让你一篇文章掌握Pandas的核心用法。

一、Pandas简介与环境准备
Pandas是一个开源的Python库,提供了高性能、易用的数据结构和数据分析工具。它的名字来源于"Panel Data"(面板数据)和"Python Data Analysis"(Python数据分析)的组合。

安装Pandas

pip install pandas

导入Pandas

import pandas as pd
import numpy as np  # 通常也会一起导入numpy

二、数据导入
Pandas支持从多种数据源导入数据,包括CSV、Excel、SQL数据库、JSON等。

  1. 从CSV文件导入
df = pd.read_csv('data.csv')

常用参数:

sep:分隔符,默认为’,’

header:指定作为列名的行号,默认为0(第一行)

index_col:指定作为行索引的列号或列名

encoding:文件编码,如’utf-8’、'gbk’等

  1. 从Excel文件导入
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
  1. 从SQL数据库导入
import sqlite3

conn = sqlite3.connect('database.db')
df = pd.read_sql('SELECT * FROM table_name', conn)
  1. 从JSON文件导入
df = pd.read_json('data.json')
  1. 从字典创建DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Paris', 'London']
}
df = pd.DataFrame(data)

三、数据初步探索
导入数据后,我们需要对数据进行初步了解。

  1. 查看数据
df.head()  # 查看前5行
df.tail(3)  # 查看后3行
df.sample(5)  # 随机查看5行
  1. 数据基本信息
df.info()  # 数据类型、非空值数量等
df.shape  # 数据维度(行数,列数)
df.columns  # 列名
df.index  # 索引
  1. 描述性统计
df.describe()  # 数值型列的统计信息
df.describe(include='all')  # 所有列的统计信息
df['column_name'].value_counts()  # 分类值的频数统计

四、数据清洗
数据清洗是数据分析中最耗时的环节,通常包括处理缺失值、异常值、重复值等。

  1. 处理缺失值
# 检查缺失值
df.isnull().sum()

# 删除含有缺失值的行
df.dropna()

# 填充缺失值
df.fillna(value)  # 用固定值填充
df.fillna(method='ffill')  # 用前一个值填充
df.fillna(method='bfill')  # 用后一个值填充
df['column'].fillna(df['column'].mean(), inplace=True)  # 用均值填充

# 插值法填充
df.interpolate()
  1. 处理重复值
# 检查重复行
df.duplicated()

# 删除重复行
df.drop_duplicates()

# 基于特定列删除重复行
df.drop_duplicates(subset=['column1', 'column2'])
  1. 处理异常值
# 使用描述性统计识别异常值
df.describe()

# 使用箱线图识别异常值
df.boxplot()

# 处理异常值 - 替换为边界值
q1 = df['column'].quantile(0.25)
q3 = df['column'].quantile(0.75)
iqr = q3 - q1
lower_bound = q1 - 1.5 * iqr
upper_bound = q3 + 1.5 * iqr

df['column'] = np.where(df['column'] < lower_bound, lower_bound, 
                       np.where(df['column'] > upper_bound, upper_bound, df['column']))
  1. 数据类型转换
# 查看数据类型
df.dtypes

# 转换数据类型
df['column'] = df['column'].astype('int')  # 转换为整数
df['date_column'] = pd.to_datetime(df['date_column'])  # 转换为日期时间

五、数据转换与特征工程

  1. 列操作
# 选择列
df['column']  # 选择单列
df[['col1', 'col2']]  # 选择多列

# 添加列
df['new_column'] = values

# 删除列
df.drop('column', axis=1, inplace=True)

# 重命名列
df.rename(columns={'old_name': 'new_name'}, inplace=True)
  1. 行操作
# 选择行
df.loc[index]  # 按标签选择
df.iloc[position]  # 按位置选择

# 添加行
df.append(new_row, ignore_index=True)

# 删除行
df.drop(index, inplace=True)

# 条件筛选
df[df['column'] > value]
df[(df['col1'] > value1) & (df['col2'] < value2)]
  1. 排序
df.sort_values('column')  # 按列值排序
df.sort_values(['col1', 'col2'], ascending=[True, False])  # 多列排序
  1. 分组与聚合
# 简单分组
df.groupby('column').mean()

# 多列分组
df.groupby(['col1', 'col2']).sum()

# 多种聚合函数
df.groupby('column').agg({'col1': 'mean', 'col2': ['min', 'max']})

# 自定义聚合函数
def my_agg(x):
    return x.max() - x.min()

df.groupby('column').agg(my_agg)
  1. 数据透视表
pd.pivot_table(df, values='value_col', index='row_col', 
               columns='column_col', aggfunc=np.mean)
  1. 特征工程
# 创建虚拟变量/独热编码
pd.get_dummies(df['category_column'])

# 分箱/离散化
pd.cut(df['numeric_column'], bins=5)
pd.qcut(df['numeric_column'], q=4)  # 按分位数分箱

# 时间特征提取
df['year'] = df['date_column'].dt.year
df['month'] = df['date_column'].dt.month
df['dayofweek'] = df['date_column'].dt.dayofweek

六、数据分析与计算

  1. 基本统计计算
df.mean()  # 均值
df.median()  # 中位数
df.std()  # 标准差
df.corr()  # 相关系数矩阵
df.cov()  # 协方差矩阵
  1. 窗口计算
# 滚动窗口
df['column'].rolling(window=3).mean()

# 扩展窗口
df['column'].expanding().mean()

# 指数加权移动平均
df['column'].ewm(span=3).mean()
  1. 时间序列分析
# 重采样
df.resample('M').mean()  # 按月重采样
df.resample('Q').sum()  # 按季度重采样

# 移动
df.shift(1)  # 向后移动1期
df.diff()  # 差分
  1. 自定义函数应用
# 对列应用函数
df['column'].apply(lambda x: x*2)

# 对行应用函数
df.apply(lambda row: row['col1'] + row['col2'], axis=1)

# 对整个DataFrame应用函数
df.applymap(lambda x: len(str(x)))

七、数据可视化
虽然Pandas不是专业的可视化库,但它基于Matplotlib提供了一些便捷的绘图方法。

  1. 基本绘图
df.plot()  # 线图
df.plot.bar()  # 柱状图
df.plot.hist()  # 直方图
df.plot.box()  # 箱线图
df.plot.scatter(x='col1', y='col2')  # 散点图
df.plot.pie(y='column')  # 饼图
  1. 高级可视化
# 多子图
df.plot(subplots=True, figsize=(10, 12))

# 面积图
df.plot.area(stacked=True)

# 六边形箱图
df.plot.hexbin(x='col1', y='col2', gridsize=10)

八、数据合并与连接

  1. 合并
# 简单合并
pd.concat([df1, df2])

# 按列合并
pd.concat([df1, df2], axis=1)
  1. 连接
# 内连接
pd.merge(df1, df2, on='key')

# 左连接
pd.merge(df1, df2, on='key', how='left')

# 右连接
pd.merge(df1, df2, on='key', how='right')

# 外连接
pd.merge(df1, df2, on='key', how='outer')

# 按多个键连接
pd.merge(df1, df2, on=['key1', 'key2'])
  1. 追加
df1.append(df2, ignore_index=True)

九、结果输出
分析完成后,我们需要将结果保存或输出。

  1. 保存为CSV文件
df.to_csv('output.csv', index=False)
  1. 保存为Excel文件
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False)
  1. 保存为SQL数据库
df.to_sql('table_name', conn, if_exists='replace', index=False)
  1. 保存为JSON
df.to_json('output.json', orient='records')
  1. 保存为HTML表格
df.to_html('output.html')
  1. 保存为Pickle文件
df.to_pickle('output.pkl')

十、性能优化技巧

  1. 使用合适的数据类型
# 将object类型转换为category类型(适用于低基数列)
df['category_column'] = df['category_column'].astype('category')
  1. 使用矢量化操作
    避免使用循环,尽量使用Pandas内置的矢量化操作。

  2. 使用eval()和query()

# 更快的表达式计算
df.eval('new_col = col1 + col2')

# 更快的查询
df.query('col1 > col2')
  1. 分块处理大数据
# 分块读取大文件
chunk_size = 10000
for chunk in pd.read_csv('large_file.csv', chunksize=chunk_size):
    process(chunk)

十一、实战案例
让我们通过一个完整的案例来实践上述流程。

案例:销售数据分析

# 1. 导入数据
sales = pd.read_csv('sales_data.csv')

# 2. 数据探索
print(sales.head())
print(sales.info())
print(sales.describe())

# 3. 数据清洗
# 处理缺失值
sales['Discount'].fillna(0, inplace=True)

# 转换日期类型
sales['Date'] = pd.to_datetime(sales['Date'])

# 删除重复行
sales.drop_duplicates(inplace=True)

# 4. 特征工程
# 提取月份
sales['Month'] = sales['Date'].dt.month

# 计算总销售额
sales['Total'] = sales['Quantity'] * sales['UnitPrice'] * (1 - sales['Discount'])

# 5. 数据分析
# 每月销售额
monthly_sales = sales.groupby('Month')['Total'].sum()

# 产品销售额排名
product_sales = sales.groupby('ProductID')['Total'].sum().sort_values(ascending=False)

# 客户消费分析
customer_stats = sales.groupby('CustomerID').agg({
    'Total': ['sum', 'count', 'mean'],
    'Quantity': 'sum'
})

# 6. 可视化
monthly_sales.plot.bar(title='Monthly Sales')
product_sales.head(10).plot.pie(title='Top 10 Products by Sales')

# 7. 输出结果
monthly_sales.to_csv('monthly_sales.csv')
customer_stats.to_excel('customer_analysis.xlsx')

十二、总结
本文详细介绍了使用Pandas进行数据分析的全流程,从数据导入、清洗、转换到分析和结果输出。掌握这些核心操作后,你将能够处理大多数数据分析任务。Pandas的功能远不止于此,建议读者在实际工作中不断探索和学习其更高级的特性。

记住,数据分析的关键不在于记住所有的方法,而在于理解数据、提出正确的问题,并选择合适的方法来回答这些问题。Pandas只是帮助你实现这一目标的强大工具。

最后:
希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!

文末福利
最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。

包含编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习

在这里插入图片描述

pandas数据分析实例(pandas、matplotlib) 本人喜欢数据分析,接触数据分析也接近两年的时间了,最近在学习pandas。学习最好的方法是使用它,所以,根据这个文章,做了一些练习,并记录下我练习的轨迹。 文章链接:https://mp.weixin.qq.com/s/RcrQmqty1FHEDbQfxv2XTQ 主要是四部分:数据读取,数据概述,数据清洗和整理,分析和可视化 一、数据读取 df = pd.read_csv(r'F:\python学习\DataAnalyst.csv',encoding='gb2312') print(df) 结果如下: 阅读详情

相关推荐

python数据分析基础005 -pandas详解_pandas入门这一篇就足够了

pandas详解,建议收藏!!

苏凉.py的博客 8125

5种常用格式的数据输出,手把手教你用Pandas实现

导读:任何原始格式的数据载入DataFrame后,都可以使用类似DataFrame.to_csv()的方法输出到相应格式的文件或者目标系统里。本文将介绍一些常用的数据输出目标格式。作者:李庆辉来源:大数据DT(ID:hzdashuju)01 CSVDataFrame.to_csv方法可以将DataFrame导出为CSV格式的文件,需要传入一个CSV文件名。df.to_cs...

华章IT官方博客 1088

生信实战:用bcftools玩转VCF文件处理(从压缩到注释全流程)

本文详细介绍了使用bcftools处理VCF文件的全流程实战指南。从数据准备、压缩索引、信息提取、质量统计到核心的变异过滤与功能注释,手把手教你高效管理基因组变异数据。重点阐述了如何利用bcftools进行VCF文件注释,整合外部数据库信息,为变异位点添加关键的生物学标签,是生物信息学数据分析的必备技能。

rgv23456789的博客 341

pandas入门:导出数据的四种方式

pandas导出数据到文件的四种方式 import pandas as pd import pymysql df = pd.DataFrame({'A': [3, 4, 8, 9], 'B': [1.2, 2.4, 4.5, 7.3], 'C': ["aa", "bb", "cc", "dd"]}) def export_data_to_csv(): # 参数encoding=...

jp_666的博客 5016

Simulink中为Scope模块添加图例的方法

比如我要在Scope模块输出三轴加速度的数据,但三轴数据波形混杂在一起不太好看,此时就需要在Scope模块中添加图例来使波形看起来更加清晰明了。 注:我这里使用的Matlab版本为2019a 1.首先在simulink中打开,需要添加图例的Scope,如图示: 2.在Matlab,command窗口输入: >> set(0,'ShowHiddenHandles','On'); >> set(gcf,'menubar','figure'); 此时你会发现Scope窗口菜单栏多了好几

Kunfly的博客 1万+

五子棋AI实战:极大极小搜索、Alpha-Beta剪枝与禁手实现

博弈树搜索是双人零和博弈AI的经典决策框架,其核心思想是假设对手最优应对,通过递归遍历走法空间寻找最优解。极大极小搜索配合Alpha-Beta剪枝,能在不影响决策结果的前提下将搜索量降至平方根级别,大幅提升搜索效率。在五子棋场景中,还需处理黑棋禁手规则,包括双三、双四和长连判定,并将其融入搜索框架。评估函数基于棋型识别对局面打分,走法排序和迭代加深进一步优化剪枝效果。这些技术共同构成了一个可运行的五子棋AI,适用于棋类AI入门与博弈搜索实践。

weixin_29054399的博客 131

Python 教学 | 数据处理必备工具之 Pandas(数据的读取与导出)

本期文章我们将学习使用 Pandas 实现数据的读取和导出,并介绍几个 DataFrame 的常用属性来查看数据的基本信息。

weixin_55633225的博客 3313

【keras】走近VGG16卷积神经网络

        VGG16是一个16层的卷积神经网络模型,输入数据的维度为224*224*3,即长宽均为224像素的RGB彩色图片,VGG16模型的权重由ImageNet训练而来。由于其具有简单实用的优点,因此,在图像分类和目标检测任务中得到了较为广泛的应用。 1.卷积神经网络的基本概念 1.1卷积         简单的将其理解为一种数学运算,具体的计算过程如下图所示:       ...

XYZ 1万+

6Python的Pandas:数据读取与输出

Pandas是一个强大的Python数据分析库,提供了读取和输出数据的多种功能。

XiaoCai 1068

苍穹外卖项目面试总结话术

美食速递这个项目最初是我参与制作的大创项目,是一款为中南学生提供校园外卖送至宿舍服务的软件,包含系统管理后台和小程序端两部分。其中系统管理后台主要提供给食堂内部员工使用,可以对食堂各个窗口、员工、订单、菜品等进行维护管理;小程序端可以在线浏览菜品、添加购物车、下单等,由学生兼职做跑腿送餐上门服务。这是个前后端分离的项目,我主要是负责后端的用户登录、员工管理,菜品管理,订单管理模块的编码实现。

qq_45195447的博客 1万+

基于Simulink的前馈解耦SVPWM整流器仿真

本文提出了一种基于Simulink的前馈解耦SVPWM整流器仿真方案,针对传统双闭环控制存在的耦合严重、电压利用率低等问题进行优化。通过前馈补偿dq轴耦合项(ωLiq和ωLid)结合SVPWM调制算法,实现了电流跟踪误差<3%、电压利用率达0.99、THD<3%的性能指标。文章详细阐述了系统架构设计,包括前馈解耦原理推导、SVPWM算法实现步骤,并提供了完整的Simulink建模方法。仿真结果表明,该方案在动态响应速度(25ms)和直流电压纹波(1.1%)方面显著优于传统SPWM控制。同时给出了

MHD0815的博客 162

【星海随笔】pandas全总结

import pandas as pd pandas总结 载入CSV文件,并展示 df = pd.read_csv('1ttdata.csv') df 展示元数据 df.info() #展示初始化后的很多基本信息,包括下面举例的几个 type(df) #展示类型 df.index #展示RangeIndex start=xxx, stop=xxx #pandas.core.frame.DataFrame 支持的读取方式 df.head() df.tail() #默认是5条,可以指定 df.v

weixin_41997073的博客 1159

科研级实战】YOLOv11 pose部署至RK3588全流程:让姿态估计模型在边缘端毫秒级运行,我来帮你突破人体行为分析落地壁垒

在智慧安防人体行为分析场景中,基于YOLOv11 pose的模型在云端推理单帧耗时150ms,硬件成本超15000元;经本方案部署到RK3588后,单帧推理耗时降至30ms,硬件成本仅4000元,且关键点检测准确率高达93%以上。在运动姿态评估场景,同款技术路径使模型边缘端推理速度提升6倍,姿态分类精度达95%。这意味着,你也能让自己的姿态估计模型在边缘设备上实现的工业化落地,接下来让我们开启从模型训练到端侧部署的实战征程。

m0_71589036的博客 223

Pandas看这一篇就够了!

文章目录1.Series2.DataFrame2.1 列的选择、添加、删除3. Series的基本操作4.DataFrame基本操作5. Pandas函数应用6.Pandas多轴索引:7.Pandas统计函数8.Pandas分组 1.Series 1.1 Pandas系列可以使用以下构造函数创建 – pandas.Series( data, index, dtype) – data:数据采取各种形式,如:ndarray,list,constants – index:必须是唯一的和散列的,与数据的长度相同。

逐梦er的博客 1万+

C#实现图片裁剪 (附完整源码)

C#实现图片裁剪 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 508

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

pandas详细教程(涵盖全部,看这一篇就够了)

pandas详解,精炼到底!只做最优质的文章

m0_74344139的博客 2万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

python中pandas的数据输出显示设置

python中pandas的数据输出显示设置1 pandas数据分析时经常需要打印输出数据,当数据量大时,输出的展示设置非常重要,好的展示可以帮助更好地理解数据。 pandas相关的显示设置函数主要有以下三个: import pandas as pd 函数 作用 pd.pandas.set_option(‘参数名’, 参数值) 设置相关显示选项 pd.pandas.get_op...

小枫哥的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Python数据分析实战:使用Pandas进行数据分析

数据读取数据集成透视表数据聚合与分组运算分段统计数据可视化Pandas的使用很灵活,最重要的两个数据类型是DataFrame和Series。对DataFrame最直观的理解是把它当成一个Excel表格文件,如下:索引是从0开始的,也可以将某一行设置为index索引;missing value为缺失值。DataFrame的一列就是Series,Series可以转化为DataFrame,调用方法函数to_frame()即可。

libaiup的博客 7497

关于数据分析中NumPy,Pandas,看完这一篇基本够了

数据分析是Python的重要应用领域之一:Python在数据分析领域有着广泛的应用,许多数据科学家和分析师使用Python作为主要的数据分析工具。学好数据分析可以让你更好地应用Python来解决实际问题,并提升在数据分析领域的竞争力。在当今信息爆炸的时代,数据分析能力成为了一种重要的技能。无论是在工作中还是个人生活中,我们都需要从大量的数据中提取有用的信息和洞察,并做出相应的决策。学好数据分析可以帮助你更好地理解和利用数据,提高决策的准确性和效率。

ch950401的博客 607

Pandas数据清理,看这一篇就够了

作者介绍@吃货第一名的Claire美国德克萨斯大学奥斯汀分校商学院硕士;美国某物流公司数据分析师;负责数据收集、清理、分析、建模、可视化等;美剧重度爱好者,坚信美食能解决大部分问题的终极吃...

简说Python的博客 4544

15个Python数据分析实用技巧(非常详细)零基础入门到精通,收藏这一篇就够了

练习技巧:选取一个实际数据集,从数据导入开始,逐步应用上述技巧,先做简单的数据清洗和描述性分析,然后尝试预测模型或可视化复杂关系。使用技巧:在处理大数据时,考虑使用Dask或Vaex代替Pandas,以提高效率。注意事项:数据隐私和安全永远是首位的,确保在合法合规的范围内处理数据。通过这些实战策略和技巧的运用,你的数据分析能力将得到显著提升。

Hacker_doggy的博客 3851

Python数据分析 Pandas快速入门至进阶这篇就够了

Series是带标签一维同构数组DataFrame是带标签二维异构数组。

制定持续可量化的目标,不断坚持。 2125

【Pandas】数据分析入门

Pandas数据分析,其实并没有想象中那么难,勤能补拙,一起来看看吧!

你不来,再美的天地,都狼藉 ~ 2216

Pandas数据分析

本文围绕 Python 的 Pandas 数据分析展开,介绍了其作为流行结构化数据工具集在数据清洗、处理及分析中的显著优势,阐述了安装方法并通过实际案例展示初体验。详细讲解 Pandas 数据结构(如 Series 和 DataFrame)、数据类型、基本数据操作、运算、文件读取与存储,以及 DataFrame 数据的增删改查、缺失值处理、数据合并、分组和交叉表与透视表等高级处理。为读者全面呈现 Pandas 在数据分析领域的应用,助力掌握相关技能用于实际工作与学习 。

taisu001的博客 1165

数据分析(四):Python Pandas数据输入输出全流程指南

文件格式支持结构化数据:CSV、Excel半结构化数据:JSON高效二进制格式:Parquet、HDF5、Feather数据库交互使用SQLAlchemy作为统一接口支持MySQL、PostgreSQL等主流数据库分块处理大型表数据大数据处理chunksize参数分块读取指定dtype减少内存占用使用高效二进制格式存储中间结果存储选择建议快速读写:Feather长期存储:Parquet或HDF5数据交换:CSV或JSON。

人工智能微客/aiweker 1394
上一篇: Python爬虫入门:7个实用案例带你从零开始(附完整源码)
下一篇: 2025最新超详细PyCharm IDE安装环境配置完整版教程,看这一篇就足够了
Python_trys
博客等级 码龄2年 4370粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值