机器学习-数据科学库 05 pandas 教程

西门子V90 PN伺服控制核心:FB284功能块详解与实战 在工业自动化中,伺服定位控制是运动控制的基础环节,其本质是PLC通过PROFINET协议与伺服驱动器实现高速、确定性数据交互。FB284作为西门子为V90 PN定制的标准化功能块,封装了GSD映射、状态机管理与周期性PDO同步机制,将底层寄存器操作抽象为高可靠调用接口。相比MOVE指令或MC_MoveAbsolute等通用方案,FB284显著降低时序错乱风险,提升多轴同步精度与故障响应能力。它广泛应用于包装、灌装、装配等中端产线,尤其适配S7-1200/1500平台下的快速部署与现场维护。本文聚焦V90 P 阅读详情

简介

https://pandas.pydata.org/

pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool,
built on top of the Python programming language.

numpy 虽然能够帮助我们处理数值,但是pandas除了处理数值之外(基于numpy),还能够帮助我们处理其他类型的数据(字符串、时间序列等等)。

  • DataFrame 二维,Series容器

Series

Series 一维,带标签数组(索引),本质上为对象的 key 和 对象的值 values 组成的序列,同时 index 有序

import pandas as pd
import numpy as np
import string

# 创建 ascii 序列
s = pd.Series(np.arange(10), index=list(string.ascii_uppercase[:10]))

# 转换 value 的类型
s = astype(float)
# 对象转为序列
# 对象 key value 都会保留,且有序
s = pd.Series({"name": "xiaoming", "age": 18, "tel": 110})

# 取值可以通过 key 和 index
out = s[key]
out = s[0]
out = s[["name", "age"]]

# 获取所有下标
out = s.index

# 下标类型
out = type(s.index)

# 下标长度
out = len(s.index)

# 下标切片
out = list(s.index)[:2]

# value 类型
out = type(s.values)

更多方法

ndarray 的很多方法都可以直接套用,如 argmax, clip

  • 注意 where 方法和 ndarray 不同

文档:https://pandas.pydata.org/docs/reference/api/pandas.Series.html

读取外部文件

# 读取磁盘
pd.read_csv(path)

# 读取 sql connection
pd.read_sql(connection)

# max min 的值
s.max()
s.min()

# max min 的坐标
s.argmax()
s.argmin()

# 中位数
s.median()

DataFrame

DataFrame 是二维,Series 容器

  • DataFrame 对象既有行索引,又有列索引

    • 行索引,表明不同行,横向索引,叫index,0轴,axis=0
    • 列索引,表名不同列,纵向索引,叫columns,1轴,axis=1
  • 和 Series 关系:

    • df[column] 就是 Series
import pandas as pd
import numpy as np

f = pd.DataFrame(np.arange(12).reshape(3, 4),

                 # 行索引
                 index=list("abc"),

                 # 列索引
                 columns=list("WXYZ"))
print(f)

输出:

   W  X   Y   Z
a  0  1   2   3
b  4  5   6   7
c  8  9  10  11

字典形式:

df = pd.DataFrame({"name": ["xiaoming", "xiaogang"],
                  "age": [20, 31],
                                    "tel": [10010, 10011]})
                                    print(f)
print(df)

输出:

       name  age    tel
0  xiaoming   20  10010
1  xiaogang   31  10011

json 数组形式, 自动填充 nan:

df = pd.DataFrame([{
    "name": "xiaoming",
    "age": 20,
    "tel": 10010
}, {
    "name": "xiaohong",
    "age": 33,
    "tel": 10012
}])
print(df)

输出:

       name  age    tel
0  xiaoming   20  10010
1  xiaohong   33  10012

其他方法:


# 头几行
out = df.head(1)

# 后几行
out = df.tail(2))

# 概览,如数组容量等
out = df.info())

# 描述
out = df.describe())

# 按照列排序
out = df.sort_values(by="col", asceding=False)

取值

取行列:

# 取行
out = df[:20]

# 取列 
# 就是 key 为 index 的 Series
out = df["Row_Labels"]

# 组合某些行的某列
out = df[:20]["Row_Labels"]

df.loc

通过标签取值

# 具体 index 的 column
df.loc[[index, column]]

# 整行
df.loc[[index]]
df.loc[[index, :]]

# 整列
df.loc[[:, column]]

# 某些行
df.loc[[index0, index1]]
df.loc[[index0, index1], :]

# 某些列
df.loc[:, [column0, column1]]

# 某些行某些列
df.loc[[index0, index1], [column0, column1]]

# index 支持区间
df.loc[index0:index1, [column0, column1]]

df.iloc

通过位置(坐标)取值

# 通过坐标取某行值
df.iloc[1]
df.iloc[1, :]

# 通过坐标取列值
df.iloc[: 1]

# 取某行某列
df.iloc[[0, 2], [2, 1]]
df.iloc[:2, 2:]

# 支持直接赋值 nan 不需要 cast to float
df.iloc[:2, 2:] = nan

布尔索引

# 选择 value 800 到 1000 的行
out = df[(df[column] > 800) & (df[column] < 1000)]

字符串方法

# 选择 value 长度大于 4 的行
df[df[column].str.len() > 4]

# 某列的所有字符串 split 后分别转 list
df[column].str.split(splitter).tolist()

缺失数据处理

# 批量判断是否 NaN
pandas.isnull(df)
pandas.notnull(df)

# 例子:选择某列不为 NaN 的 df (条件为布尔索引)
df[pd.notnull(pd[column])]

# 删除某个坐标(0=index or 1=column) NaN
df.dropna(axis=0,
          
          # any 存在一个 NaN; all 全部都是 NaN
          how="all"

          # 原地修改
          inplace=True)

# 填充均值
df.fillna(df.mean())

# 填充某列均值
df[column].fillna(df[column].mean())

# 0 转为 NaN
df[df==0]=numpy.nan

注意 NaN 默认不参与运算,0参与,因此后端返回数据最好可以不填,不要用 0 或者空串兜底,业务来做兜底

安装Anaconda和Labelme的教程 1 登录Anaconda官网,选择Download https://www.anaconda.com/distribution/ 2 选择你想下载的Python版本,选择你的操作系统和位数,然后点击Download按钮就开始下载了 3 开始安装 下面两个框框都勾选 点击next,等待安装成功 打开Anaconda Navigator 点击红色圈圈的按钮 在cmd中输入 (1)创建虚拟环境 conda create -n labelme python=3.6 (2)激活虚拟环境 conda activa 阅读详情

相关推荐

AMBA-ATB spec

AMBA-ATB spec 1. ATB总线的用途及版本 1.1 ATB总线用途 一般来说,ATB(Advanced Trace Bus)总线用来在ARM的coresight组件之间传递trace数据。如下图所示: 1.2 ATB总线的版本 ATB(Advanced Trace Bus)共有两个版本,其中v1.0作为AMBA3的一部分,于2006年发布的,而v1.1则是2012年随着AMBA4发布的。ATB规范新增了数据(主要针对trace data)不可知的接口,以便在跟踪系统中根据 AMBA 规范跟

weixin_43781229的博客 7352

Python数据分析之Pandas库

Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发团队继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。

hubing_hust的专栏 1万+

xsens IMU配置

1.安装驱动 sudo apt-get update sudo apt-get install ros-kinetic-xsens-driver 2.配置IMU 设置输出四元数,加速度、角速度、地磁 cd /opt/ros/kinetic/lib/xsens_driver python mtdevice.py --configure "oq,aa,wr,mf" 3.启动IMU roslaunch xsens_driver xsens_driver.launch 转(https://www.cnblo

qq_41585680的博客 2325

pandas的简单使用

import numpy as np import pandas as pd # 读文件 xiao5g = pd.read_table('F:\校园小区场景.txt',header=None) xiao4g = pd.read_csv('F:\校园小区场景4G.CSV',header=None) # 写入文件 writer=pd.ExcelWriter(r'F:\output.xlsx') xiao5g .to_excel(writer,sheet_name='xiao5g ',index=False)

qq_55342245的博客 1190

Matt Pocock Skills — AI 编码代理技能包介绍与使用指南

《Matt Pocock Skills:AI编码代理技能包指南》 摘要: Matt Pocock Skills是一套开源AI编码代理技能包,旨在解决AI辅助开发中的四大痛点:需求理解偏差、token浪费、代码质量差和架构腐化。该技能包包含多种实用工具:/grill-with-docs用于需求对齐,/tdd实现测试驱动开发,/diagnose提供规范化调试流程,/triage管理issue生命周期。核心思想包括:通过拷问式对齐确保需求理解一致,建立共享领域语言提高沟通效率,快速反馈闭环加速开发,以及持续架构维

qq_45859163的博客 2225

红外回充方案之红外接收和发射/附源码(1)

本文介绍了基于NEC协议的红外回充方案实现,重点讲解了红外收发原理和GD32F330单片机的接收端实现。文章首先说明采用38kHz载波和一体化红外接收管的设计优势,能有效抗环境光干扰。接着详细解析NEC协议格式,包括9ms起始信号、地址码、命令码及其反码校验机制,并给出逻辑1和0的调制方式。在接收端实现上,展示了GD32F330定时器输入捕获配置代码,通过双边沿触发测量脉冲宽度进行解码。文章还提供了状态机设计思路和数据结构,为低成本机器人红外回充方案提供了完整的技术实现方案。

m0_59406757的博客 1241

Python Pandas数据处理基础,机器学习和深度学习必备基础,常用函数和数据处理方式

pandas是数据处理的基础,是每个数据工作者的必备技能,在机器学习和深度学习领域,其往往和numpy模块合并使用,常用的功能我们记住即可,其他功能我们我可边用边查。

L_goodboy的博客 1995

uniapp [移动端H5网页] - 强力解决弹起软键盘后页面被挤压变形或页面整体上移问题,点击input输入框键盘弹出底部被上推往上顶遮挡及各种问题(兼容安卓苹果ios手机,微信公众号网页也适用)

uni-app,h5网页,input输入框组件,uniapp h5软键盘弹出,uni-app 输入框,键盘弹起时页面整体上移问题,uni,H5页面,解决软键盘弹起页面被挤压、被往顶的问题,解决uni-app 输入框,键盘弹起时页面整体上移问题,uniapp调用手机系统软键盘,页面窗口被顶起,布局定位失效,解决uniapp软键盘弹起导致页面fixed定位元素被顶上去,输入法软键盘弹起,窗口顶起,变形解决办法,UniApp中input组件在IOS设备上弹出软键盘时页面整体上移问题的解决方案,以及input组件聚

🏆 前端领域优质创作者 1万+

Python机器学习:使用Pandas进行探索性数据分析 Ⅰ

利用Pandas进行会计业务数据分析可视化,并利用机器学习训练模型来进行预测,Pandas是一个强大的数据分析工具,是经常进行数据分析处理的人必不可少的强力伙伴!

北天的博客 2401

使用GeoServer发布WMS动态地图服务,使用openlayers访问wms服务浏览地图数据

GEOServer是java版开源工具,使用GEOServer简单几步就可以搭建自己的地图服务,与小伙伴们共享地图数据。 一、使用GEOServer发布WMS动态地图服务 大致步骤如下: 1. 新建工作区 左边菜单栏,工作区,新建,起个名字,设置url。 2. 选择数据源 左边菜单栏,选择“数据源”,点击“添加新的数据源”,常用的有shp、postgresql数据库,根据自己的需要选择,这里选择了shp文件源。 选中存放在刚才新建的工作区下面,给数据源起个名字,选择文件本机存放位置,设置编码,包含中文属

从地图看世界的专栏 4540

ArcGIS笔记13_利用ArcGIS制作岸线与水深地形数据?建立水动力模型之前的数据收集与处理?

在利用MIKE建立水动力模型之前,需要收集、处理和制作诸多数据和资料,主要有岸线数据、水深地形数据、开边界潮位驱动数据、风场数据、潮位和海流观测资料和站点潮汐调和常数资料等。本篇主要介绍这些资料的获取与处理。

晏长街的博客 5949

机器学习pandas的使用

随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

Mmmzzz6的博客 250

拆解全球18大“支付清算”体系:CLS、中国、美国、欧洲、日本、mBridge...

拆解全球18大“支付清算”体系:CLS、中国、美国、欧洲、日本、mBridge...

银行信息系统应用架构详解 887

【机器学习基础 4】 Pandas库

Pandas 是一个开源的 Python 数据分析库,主要用于数据清洗、处理、探索与分析。其核心数据结构是(一维数据)和(二维表格数据),可以让我们高效地操作结构化数据。Pandas 提供了许多灵活且高效的数据操作方法,能够快速地进行数据筛选、聚合、转换和可视化,是数据科学和机器学习工作流中非常重要的一环。

yewanyuan的博客 2141

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Python数据科学库05(pandas)

Python数据科学库05(pandas)

m0_37755995的博客 559

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

二十六、【人工智能】【机器学习】【Python】- 机器学习中的Python库全解析:掌握数据科学工具箱的艺术

在机器学习领域,Python 是最常用的编程语言之一,因为它拥有丰富的库支持,使得开发人员可以高效地构建和部署机器学习模型。我们在学习机器学习时候,需要掌握了学习的一些基础库和算法库的介绍。

技术分享、程序员趣事、行业趋势等内容! 974

盘点数据科学最流行的29个Python库

导读:我们都着眼于如何使用现有的库来避免重复工作,从而使程序开发工作事半功倍。通常,开发大量原始代码是一个费时费力的工作,为了避免这种情况,我们会尽可能多地使用库中已有的类来创建对象,通常...

大数据 349

Python数据科学完整指南:免费Jupyter Notebook教程助你快速掌握NumPy、Pandas和Scikit-learn

还在为Python数据科学工具链的碎片化而头疼吗?每次开始新项目都要重新翻阅文档,在Stack Overflow上搜索解决方案,结果发现每个库都有自己的"坑"?《Python数据科学手册》这个开源项目可能是你一直在寻找的答案——这不是一本枯燥的技术手册,而是一个完整的可交互学习环境。 ## 🎯 问题场景:为什么学习Python数据科学如此困难? 数据科学领域有个尴尬的现实:你会用NumPy做

gitblog_01198的博客 170

盘点数据科学最流行的29个Python库,数据分析必看

导读: 我们都着眼于如何使用现有的库来避免重复工作,从而使程序开发工作事半功倍。 通常,开发大量原始代码是一个费时费力的工作,为了避免这种情况,我们会尽可能多地使用库中已有的类来创建对象,通常仅需要一行代码。 因此,库能够帮助我们使用适量的代码执行重要的任务。 本文介绍数据科学中会经常使用多种Python标准库、数据科学库和第三方库。 01 Python标准库 16 / 29 Python标准库提供了丰富的功能,包括文本/二进制数据处理、数学运算、函数式编程、文件/目录访问、数据持久

码农黑羽的博客 2040

盘点数据科学最流行的29个Python库,数据分析必看(1)

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

m0_60707660的博客 1051

Python数据科学:如何在实战中真正掌握NumPy、Pandas和Scikit-learn?

还在为Python数据科学工具链的碎片化而头疼吗?每次开始新项目都要重新翻阅文档,在Stack Overflow上搜索解决方案,结果发现每个库都有自己的"坑"?《Python数据科学手册》这个开源项目可能就是你一直在寻找的答案——但别急,这可不是另一本枯燥的技术手册。 ## 🔍 我们遇到了什么问题? 数据科学领域有个尴尬的现实:你会用NumPy做数组计算,会用Pandas处理表格数据,会用M

gitblog_00936的博客 383

BigQuery ML:用SQL实现数据科学家自助建模

SQL建模是将机器学习能力深度集成到数据仓库的范式演进,其核心在于利用声明式查询语言完成特征工程、模型训练与预测推理的端到端闭环。BigQuery ML 作为 Google Cloud 原生实现,依托分布式SQL执行引擎,将逻辑回归、树模型等算法编译为可下推的计算图,避免传统ETL+Python流水线中的数据移动开销。它不替代TensorFlow或XGBoost,而是让常规预测任务(如用户流失、复购预测)从需立项的工程项目,降维为数据分析师可自主执行的SELECT级操作。技术价值体现在低代码门槛、训练预测一

weixin_33738982的博客 548

python库排行_2017年排名前15的数据科学python库

2017年排名前15的数据科学python库2017-05-22 Python程序员 Python程序员Python程序员 微信号 pythonbuluo 功能介绍 最专业的Python社区,有每日推送,免费电子书,真人辅导,资源下载,各类工具。我已委托“维权骑士”(rightknights.com)为我的文章进行维权行动Python部落(python.freelycode.com)组织翻译,禁...

weixin_39703773的博客 132

机器学习—数据科学包(二)pandas快速入门

机器学习—数据科学包(二)pandas 所需模块 pandas matplotlib

Dandandandanta的博客 516

数据科学五大核心Python库实战指南

在数据科学工程实践中,pandas、NumPy、scikit-learn、Matplotlib/Seaborn和Statsmodels构成稳定可靠的技术基座。它们分别支撑数据清洗、数值计算、机器学习建模、可视化表达与统计推断四大基础能力,其设计哲学强调可复现性、内存可控性与接口一致性。相比前沿深度学习框架,这五个库覆盖了80%以上生产级项目的真实工作流——从千万行销售数据的向量化处理,到时间序列预测的残差诊断,再到端到端Pipeline部署与自动化PDF报告生成。尤其pandas的query链式操作与sci

weixin_33802505的博客 418

如何在 GPU 上加速数据科学

数据科学家需要算力。无论您是用 pandas 处理一个大数据集,还是用 Numpy 在一个大矩阵上运行一些计算,您都需要一台强大的机器,以便在合理的时间内完成这项工作。 在过去的几年中,数据科学家常用的 Python 库已经非常擅长利用 CPU 能力。 Pandas 的基础代码是用 C 语言编写的,它可以很好地处理大小超过 100GB 的数据集。如果您没有足够的 RAM 来容纳这样的数据集,那...

张晨光老师的播客 1634
上一篇: 机器学习-数据科学库 04 numpy 教程
下一篇: 机器学习-数据科学库 06 数据的合并和分组
eddiechen10081
博客等级 码龄11年 1粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值