当前位置: 首页 > news >正文

【python数据建模】Pandas库

概述

Pandas库主要提供了三种数据结构:
(1)Series:带标签的一维数据
(2)DataFrame:带标签且大小可变的二维表结构
(3)Panel:带标签且大小可变的三维数据
Pandas 数据结构就像是低维数据的容器。比如,DataFrame 是 Series 的容器,Series 则是标量的容器。使用这种方式,可以在容器中以字典的形式插入或删除对象。

Series

创建对象

import pandas as pd
import numpy as np# 以字典形式给出标签和一维数据
d = {'a': 1, 'b': 2, 'c': 3}
ser=pd.Series(d)# data:传输数据 index:传输标签
a=np.arange(0,3)
d=['x','y','z']
ser=pd.Series(data=a,index=d)

DataFrame

创建对象

import pandas as pd
import numpy as np# index是行标签 columns是列标签 默认都是从0开始的正数索引
d=np.arange(1,10).reshape(3,3)
a=['A','B','C']
e=['一','二','三']
df1=pd.DataFrame(data=d,index=a)
df2=pd.DataFrame(data=d,index=a)
df=pd.DataFrame(data=d,index=e,columns=a)
"""
dfA  B  C
一  1  2  3
二  4  5  6
三  7  8  9
"""

查看数据

1、查看头部与尾部数据

# head(n):从头部开始,选取n行数据
print(df.head(1))# tail(n):从尾部开始,选取n行数据
print(df.tail(2))

2、显示索引与列名

# 索引 行标签
df.index
"""
Index(['一', '二', '三'], dtype='object')
"""
# 列名 列标签
df.columns
"""
Index(['A', 'B', 'C'], dtype='object')
"""

3、to_numpy():输出不包含行索引和列标签的numpy对象

df.to_numpy()

4、describe():快速查看数据的统计摘要

df.describe()
"""A    B    C
count  3.0  3.0  3.0
mean   4.0  5.0  6.0
std    3.0  3.0  3.0
min    1.0  2.0  3.0
25%    2.5  3.5  4.5
50%    4.0  5.0  6.0
75%    5.5  6.5  7.5
max    7.0  8.0  9.0
"""

索引

1 按列标签索引

print(df['A'])
"""
一    1
二    4
三    7
Name: A, dtype: int32
"""

2 按行切片索引

print(df[0:1])
"""A  B  C
一  1  2  3
"""
print(df['二':'三'])
"""A  B  C
二  4  5  6
三  7  8  9
"""

3 loc方法

用DataFrame对象的loc方法,同时按列标签和行切片索引

print(df.loc['二':'三','A'])
"""
二    4
三    7
Name: A, dtype: int32
"""

4 iloc方法

用DataFrame对象的iloc方法,用整数or整数数组按位置索引

print(df.iloc[1,[1,2]])
"""
B    5
C    6
Name: 二, dtype: int32
"""
print(df.iloc[:,[0,2]])
"""A  C
一  1  3
二  4  6
三  7  9
"""

5 布尔索引

print(df[df.A>5])
"""A  B  C
三  7  8  9
"""
print(df[df>5])
"""A    B    C
一  NaN  NaN  NaN
二  NaN  NaN  6.0
三  7.0  8.0  9.0
"""
# isin方法
print(df[df.isin([4,9])])

数据输入输出

CSV

# 将df写入csv格式文件
df.to_csv('文件名.csv')
#读取
pd.read_csv('文件名.csv')

excel

同cvs,有to_csvread_csv

类似SQL的聚合函数

连接:concat

concat()函数用于连接Pandas对象。
列标签相同的话,起到一个上下行拼接的效果。列标签不同的话,会变成列拼接,NAN缺失值会补全数据表。

import pandas as pd
import numpy as npd=np.arange(1,10).reshape(3,3)
a=['A','B','C']
e=['一','二','三']
df=pd.DataFrame(data=d,index=e,columns=a)
df1=pd.DataFrame(data=np.random.rand(3,3),index=e,columns=a)
print(pd.concat([df,df1]))
"""A         B         C
一  1.000000  2.000000  3.000000
二  4.000000  5.000000  6.000000
三  7.000000  8.000000  9.000000
一  0.970790  0.092893  0.438776
二  0.580138  0.996153  0.698677
三  0.554084  0.640035  0.574166
"""
d=np.arange(1,10).reshape(3,3)
a=['A','B','C']
e=['一','二','三']
df=pd.DataFrame(data=d,index=e,columns=a)
df1=pd.DataFrame(data=np.random.rand(3,4),index=e)
print(pd.concat([df,df1]))
"""A    B    C         0         1         2         3
一  1.0  2.0  3.0       NaN       NaN       NaN       NaN
二  4.0  5.0  6.0       NaN       NaN       NaN       NaN
三  7.0  8.0  9.0       NaN       NaN       NaN       NaN
一  NaN  NaN  NaN  0.286544  0.470042  0.229887  0.323514
二  NaN  NaN  NaN  0.475214  0.994036  0.724422  0.788663
三  NaN  NaN  NaN  0.231405  0.785781  0.537038  0.576568
"""

连接:merge

跟SQL语句中的join函数一个效果

import pandas as pd
import numpy as npleft = pd.DataFrame({'key': ['foo', 'foo'], 'lval': [1, 2]})
right = pd.DataFrame({'key': ['foo', 'foo'], 'rval': [4, 5]})
df=pd.merge(left,right)
print(df)
"""key  lval  rval
0  foo     1     4
1  foo     1     5
2  foo     2     4
3  foo     2     5
"""

分组:groupby

相关文章:

【python数据建模】Pandas库

概述 Pandas库主要提供了三种数据结构: (1)Series:带标签的一维数据 (2)DataFrame:带标签且大小可变的二维表结构 (3)Panel:带标签且大小可变的三维数据 Pan…...

Flutter笔记:关于应用程序中提交图片作为头像

Flutter笔记 关于应用程序中提交图片作为头像 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/133418554…...

【C++】C++的类型转换

文章目录 1. C语言中的类型转换2. C中的类型转换2.1 static_cast2.2 reinterpret_cast2.3 const_cast2.4 dynamic 1. C语言中的类型转换 在C语言中,经常会出现一种情况:运算符两边的类型不同,或者形参实参类型不匹配,此时就会发生…...

ahk系列——ahk_v2实现win10任意界面ocr

前言: 不依赖外部api接口,界面简洁,翻译快速,操作简单, 有网络就能用 、还可以把ocr结果非中文翻译成中文、同样可以识别中英日韩等60多个国家语言并翻译成中文,十分的nice 1、所需环境 windows10及其以上…...

linux下端口映射

linux下端口映射 1. 允许数据包转发 echo 1 >/proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -j MASQUERADEiptables -A FORWARD -i [内网网卡名称] -j ACCEPTiptables -t nat -A POSTROUTING -s [内网网段] -o [外网网卡名称] -j MASQUERADE# 例&#xff1a…...

C++ 迭代器(iterator)

迭代器介绍 迭代器(iterator):容器类型内置的“指针” - 使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另一个元素。 - 有迭代器的类型都拥有 begin 和 end 成员- begin:返回指向第一个元素(或字…...

基于Python3搭建qt开发环境

Python可视化编程相信大部分刚接触都是tkinter,tkinter是Python自带的库,不需要安装第三方库即可使用,在我的Python专栏中也有很多基于tkinter来设计的可视化界面。本篇文章将尝试另外一个Python的可视化编程库(pyqt),与tkinter编…...

Linux常见操作命令(1)

​ 前言:作者也是初学Linux,可能总结的还不是很到位 ♈️今日夜电波:达尔文—林俊杰 0:30━━━━━━️💟──────── 4:06 🔄 ◀️ …...

GEO生信数据挖掘(一)数据集下载和初步观察

检索到目标数据集后,开始数据挖掘,本文以阿尔兹海默症数据集GSE1297为例 目录 GEOquery 简介 安装并加载GEOquery包 getGEO函数获取数据(联网下载) 更换下载数据源 对数据集进行初步观察处理 GEOquery 简介 GEOquery是一个…...

Tensorflow2 GPU 安装方法

一、Tensorflow2 GPU 安装方法 1. 首先安装Anaconda3环境2. 在Anaconda Prompt 中安装tensorflow23. 验证GPU是否可以使用 1. 首先安装Anaconda3环境 https://www.anaconda.com/ 2. 在Anaconda Prompt 中安装tensorflow2 conda update conda conda create -n tensorflow pyt…...

QSS之QLineEdit

QLineEdit我们在开发过程中是经常使用的,一般情况下默认的风格是不适合设计师的要求,本篇介绍QLineEdit的基本qss风格: 1.基本属性设置 QLineEdit{background-color:#FFFFFF;color:#333333;border:none;} 2.悬浮状态设置 QLineEdit:hover…...

在比特币上支持椭圆曲线 BLS12–381

通过使用智能合约实现来支持任何曲线 BLS12–381 是一种较新的配对友好型椭圆曲线。 与常用的 BN-256 曲线相比,BLS12-381 的安全性明显更高,并且安全目标是 128 位。 所有其他区块链,例如 Zcash 和以太坊,都必须通过硬分叉才能升…...

简单讲解 glm::mat4

文章目录 前言一、下载glm库二、基本数学知识1. 三维中的 4 x 4 矩阵2.旋转3. 位移4. 缩放5. 组合 三、行向量或列向量四、总结 前言 glm库是OpenGL的官方数学库,里面内置多种跟几何变换相关的函数,熟练掌握glm库可以省下很多麻烦。 因为最近在项目中主…...

第3章-指标体系与数据可视化-3.1.1-Matplotlib绘图库

目录 3.1 Python可视化 3.1.1 Matplotlib绘图库 1. 线图 2. 饼图 3. 条形图 4. 直方图 5.散点图...

探索视听新纪元: ChatGPT的最新语音和图像功能全解析

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🐅🐾猫头虎建议程序员必备技术栈一览表📖: 🤖 人工智能 AI: 🧠 Machine …...

华为乾坤区县教育安全云服务解决方案(1)

华为乾坤区县教育安全云服务解决方案(1) 课程地址方案背景客户痛点分析区县教育网概述区县教育网业务概述区县教育网业务安全风险分析区县教育网安全运维现状分析区县教育网安全建设痛点分析 安全解决方案功能概述架构概述方案架构设备选型 课程地址 本…...

《Jetpack Compose从入门到实战》第三章 定制 UI 视图

目录 配置颜色、字体与形状Welcome PageLogin PageHome Page 主题CompositionLocal 配置颜色、字体与形状 -ui.theme.Color.kt val pink100 Color(0xFFFFF1F1) val pink900 Color(0xFF3F2C2C) val white Color(0xFFFFFFFF) val white850 Color(0xD9FFFFFF) val gray Col…...

Kubernetes组件和架构简介

目录 一.概念简介 1.含义: 2.主要功能: 3.相关概念: 二.组件和架构介绍 1.master:集群的控制平面,管理集群 2.node:集群的数据平面,为容器提供工作环境 3.kubernetes简单架构图解 一.概…...

ElementUI实现增删改功能以及表单验证

目录 前言 BookList.vue action.js 展示效果 前言 本篇还是在之前的基础上&#xff0c;继续完善功能。上一篇完成了数据表格的查询&#xff0c;这一篇完善增删改&#xff0c;以及表单验证。 BookList.vue <template><div class"books" style"pa…...

C++中有哪些运算符以及它们的优先级?

C中常用的运算符包括算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符等。这里列举一些常见的运算符以及它们的优先级&#xff08;从高到低&#xff09;&#xff1a; 圆括号&#xff08;&#xff09;一元正号、一元负号-数组下标[]成员选择符&#xff08;点号.、箭头…...

Mardi 品牌创始人是谁?一文读懂法国 Mardi Ladin

法国 Mardi Ladin 品牌创始人是La Bergon&#xff08;Baudino Cd L&#xff09;&#xff0c;一位出身法国时尚世家的设计师&#xff0c;品牌的灵感直接来自于 1975 年法国经典电影《表兄妹》中入围奥斯卡最佳女主角的角色 "玛尔蒂 MARDI"。创始人 La Bergon 解析La B…...

C++内联函数性能分析

C内联函数性能分析内联函数通过在调用点展开函数体来消除函数调用开销。理解内联机制和使用场景对于编写高性能代码至关重要。inline关键字建议编译器内联函数。#include #includeinline int add(int a, int b) { return a b; }inline int multiply(int a, int b) { return a …...

手把手教你用高云FPGA的Video Frame Buffer IP搞定OV7725摄像头到HDMI显示(附源码)

高云FPGA视频处理实战&#xff1a;OV7725摄像头数据缓存与HDMI输出全解析 在嵌入式视觉系统开发中&#xff0c;FPGA因其并行处理能力和低延迟特性&#xff0c;成为实时视频处理的理想选择。高云FPGA作为国产芯片的代表&#xff0c;其Video Frame Buffer等硬核IP为开发者提供了高…...

别再折腾超级密码了!2024年电信光猫改桥接,打这个电话最快(附完整话术)

2024年电信光猫改桥接最省心方案&#xff1a;一通电话搞定全流程 去年帮邻居调试网络时&#xff0c;发现一个有趣的现象——十个尝试自己破解光猫超级密码的用户里&#xff0c;有九个会卡在第一步。不是密码失效就是界面改版&#xff0c;最后不得不求助运营商。这让我意识到&am…...

RBTray:让Windows窗口管理更优雅的托盘神器

RBTray&#xff1a;让Windows窗口管理更优雅的托盘神器 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否经常面对杂乱的Windows桌面&#xff0c;打开太多程序导致任务…...

python健身服务管理系统_健身房教练预约系统qeif6f6f

目录同行可拿货,招校园代理 ,本人源头供货商项目概述核心功能技术实现项目特点应用场景项目技术支持源码获取详细视频演示 &#xff1a;同行可合作点击我获取源码->获取博主联系方式->进我个人主页-->同行可拿货,招校园代理 ,本人源头供货商 项目概述 Python健身服务…...

CANN/pypto isfinite函数文档

pypto.isfinite 【免费下载链接】pypto PyPTO&#xff08;发音: pai p-t-o&#xff09;&#xff1a;Parallel Tensor/Tile Operation编程范式。 项目地址: https://gitcode.com/cann/pypto 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品…...

Ollama访问限制

发布于&#xff1a; Ollama访问限制 | Eucalyptushttps://blog.mingliangstar.com/2026/05/21/Ollama%E8%AE%BF%E9%97%AE%E9%99%90%E5%88%B6/ NginxBasic Auth认证 生成密码文件 # 安装工具 yum install httpd-tools -y# 创建密码文件&#xff08;用户名 admin&#xff09;…...

YOLOv11公共场所人群年龄目标检测数据集-280张-pedestrian-1_5

YOLOv11公共场所人群年龄目标检测数据集 &#x1f4ca; 数据集基本信息 目标类别&#xff1a; [‘adult’, ‘child’, ‘elder’]中文类别&#xff1a;[‘成人’, ‘儿童’, ‘老人’]训练集&#xff1a;196 张验证集&#xff1a;56 张测试集&#xff1a;28 张总计&#xff1a…...

通用异步导出服务设计:从业务功能到平台基础能力的抽象

在后台管理系统中&#xff0c;“导出 Excel”几乎是一个绕不开的功能。看似只是点击一个按钮、下载一个文件&#xff0c;背后却经常隐藏着性能、稳定性、安全性和用户体验问题。 当数据量较小时&#xff0c;同步导出通常可以满足需求。但随着业务数据规模增长&#xff0c;导出操…...