【python】Pandas库用法详解!

news2024/11/15 1:53:40

pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

一.pandas模块的安装

使用pip接口进行安装

pip install pandas

pip接口详细说明可以看:【python】之pip,Python 包管理工具详解!_pip 包管理_彭彭能呀的博客-CSDN博客

二、使用步骤

pandas的数据结构:

(1)Series:类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型,由索引(index)和列组成。

(2)DataFrame:是一个表格型的数据结构,每列可以是不同的值类型(数值,字符串,布尔型值),DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典。

1.先来看看Series:

import pandas as pd  ###导入pandas模块

pd.series(data,index,dtype,name,copy)

参数说明:

data:一组数据(ndarray类型)

index:数据索引标签,如果不指定,默认从0开始

dtype:数据类型,默认会自己判断

name:设置名称

copy:拷贝数据,默认伟False

(1)获取一列数据

import pandas as pd

x = [3,4,5,6,7,8,9]

pd.Series(x)

输出:

从0开始排列,dtype类型为int64。

(2)设置索引

import pandas as pd

x = [3,4,5,6]

pd.Series(x,index=['a','b','c','d'])

输出如下:

 

如上图1,设置索引对应列表数据,如图2直接获取a的值。

2. 接下来了解下DataFrame类型:

import pandas as pd

pd.DataFrame( data, index, columns, dtype, copy)

参数说明:

data:一组数据(ndarray、series, map, lists, dict 等类型)

index:数据索引标签,如果不指定,默认从0开始

columns:列索引

dtype:数据类型,默认会自己判断

copy:拷贝数据,默认伟False

(1).获取一组数据

import pandas as pd

data = {'name':['xx','zz','hh','aa'],
       'year':[2000,2001,2002,2003],
       'age':[15,16,17,18]}

a = pd.DataFrame(data)

print(a)

输出:

 输出表格型的数据结构。

(2).设置行、列索引

import pandas as pd

data = {'name':['xx','zz','hh','aa'],
       'year':[2000,2001,2002,2003],
       'age':[15,16,17,18]}

a = pd.DataFrame(data)

print(a)

pd1 = pd.DataFrame(data,columns=['name','year','age'],index=['a','b','c','d'])

pd1

输出:

 

(3). 获取指定列信息

import pandas as pd

data = {'name':['xx','zz','hh','aa'],
       'year':[2000,2001,2002,2003],
       'age':[15,16,17,18]}

a = pd.DataFrame(data)

print(a)

pd1 = pd.DataFrame(data,columns=['name','year','age'],index=['a','b','c','d'])

pd1

pd1[['year']]

输出:

(4).切片行数据

 

import pandas as pd

data = {'name':['xx','zz','hh','aa'],
       'year':[2000,2001,2002,2003],
       'age':[15,16,17,18]}

a = pd.DataFrame(data)

print(a)

pd1 = pd.DataFrame(data,columns=['name','year','age'],index=['a','b','c','d'])

pd1

pd1[:2]

输出:

(5).条件筛选,获取满足条件的行数据

 

import pandas as pd

data = {'name':['xx','zz','hh','aa'],
       'year':[2000,2001,2002,2003],
       'age':[15,16,17,18]}

a = pd.DataFrame(data)

print(a)

pd1 = pd.DataFrame(data,columns=['name','year','age'],index=['a','b','c','d'])

pd1

pd1[pd1['age']>15]

输出:

 筛选出年龄大于15的同学

(6).先筛选行,在筛选列

import pandas as pd

data = {'name':['xx','zz','hh','aa'],
       'year':[2000,2001,2002,2003],
       'age':[15,16,17,18]}

a = pd.DataFrame(data)

print(a)

pd1 = pd.DataFrame(data,columns=['name','year','age'],index=['a','b','c','d'])

pd1

pd1[:2][['name','year']]

输出:

 

(7).删除指定行

import pandas as pd

data = {'name':['xx','zz','hh','aa'],
       'year':[2000,2001,2002,2003],
       'age':[15,16,17,18]}

a = pd.DataFrame(data)

print(a)

pd1 = pd.DataFrame(data,columns=['name','year','age'],index=['a','b','c','d'])

pd1

data = pd1.drop(['a'])

print(data)

输出:

3.pandas文件读取和储存

 pandas支持的常用文件类型包括:HDF5,CSV,SQL,XLS,JSON等

(1)读取CSV文件数据

import pandas as pd

data = pd.read_csv(r"....\test.csv",encoding='gbk')

print(data)

 输出:

 (2)读取指定列数据

import pandas as pd

data = pd.read_csv(r"...\test.csv",usecols=['下限'],encoding='gbk')

print(data)

输出:

先写这么多....

@Neng

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/511983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android系统启动流程(三)——属性服务

1 属性服务 属性服务的启动在init进程中,init进程初始化的第二阶段初始化中启动了属性服务。 system/core/init/init.cpp int SecondStageMain(int argc, char** argv) {...PropertyInit();...StartPropertyService(&property_fd);...2 启动属性服务 system/…

Win系统软件闪屏/Edge闪屏/Office闪屏 - 解决方案

Win系统软件闪屏/Edge闪屏/Office闪屏 - 解决方案 前言原因解决方案方案1(推荐):重新安装核显驱动方案2:软件使用独显方案3:软件关闭硬件加速 前言 使用Win10及以上系统时,可能会出现频繁闪现黑屏的状态&a…

【jupyter】mac os系统下的jupyter的实用技巧

Jupyter notebook是一个开源的web应用,可以让你创建和分享包含代码、公式、可视化和叙述文本的文档。它可以用于数据清洗和转换、数值模拟、统计建模、数据可视化、机器学习等多种用途。 在mac os系统下,有多种方法可以安装jupyter notebook&#xff0c…

十大生产力神器,包括5大jupyter插件和五个提升python研发生产力的神器

JupyterLab:一款下一代的笔记本界面,支持多种编程语言,包括python。它具有灵活的界面,可以配置和安排数据科学、科学计算、计算新闻和机器学习等领域的工作流程。 Voil:一款可以将笔记本转换为安全、独立的web应用程序…

将字符串数组转换为字符串类型

大家好,我是三叔,很高兴这期又和大家见面了,一个奋斗在互联网的打工人。 当你在Java编程中需要将一个字符数组转换为字符串类型时,你可以使用Java内置的String类提供的方法。在本文中,笔者将介绍两种将字符数组转换为…

RabbitMQ详解(二):消息模式 Simple(简单)模式

消息模式 Simple(简单)模式 前提&#xff0c;开放5672:RabbitMQ的通讯端口&#xff0c;及查看创建用户的权限 构建maven工程 导入依赖 依赖下载地址: https://mvnrepository.com/artifact/com.rabbitmq/amqp-client <dependency><groupId>com.rabbitmq</group…

协议:HTTP基础内容掌握

一、简单理解 HTTP HTTP 协议一般指 HTTP&#xff08;超文本传输协议 Hyper Text Transfer Protocol&#xff09;。 HTTP是一个简单的请求/响应协议&#xff0c;它运行在TCP之上。 HTTP是一个基于TCP/IP通信协议来传递数据&#xff08;HTML 文件, 图片文件, 查询结果等&#x…

活动预告 Flutter 之夜 | Flutter Night Beijing

Flutter 是一个开源、可移植的 UI 框架&#xff0c;它为开发人员提供了超能力&#xff0c;可以从单个代码库为任何平台构建美观、高质量的应用程序。它将统一代码库和快速迭代开发的生产力与本机编译和硬件加速渲染的性能和功能相结合。Flutter 今天支持的平台包括安卓&#xf…

简单随机微分方程数值解

1.随机微分方程求解&#xff1a;dX(t) − αXtdt σdWt 法一&#xff1a;Euler-Maruyama %% %O-U过程 %dX(t)-alpha*Xt*dtsigma*dWt,X|t0X0 %alpha2,sigma1,X01 % 设置初始参数 T 1; % 时间区间长度 N 1000; % 离散化的时间步数 dt T/N; …

[医学分割比赛] ISBI2023 APIS多模态医学分割比赛总结 + top3解决方案

ISBI2023 APIS多模态医学分割比赛总结 top3解决方案 0.比赛背景1.比赛任务及结果2.第三名方案 - 龙盈智达&#xff08;北京&#xff09;科技有限公司(0) Data Preprocessing(1) Data Augmentation(2) Approach&#xff08;Model&#xff09;(3) Approach(Data Sampling)(4) Ap…

【QT】学习课-pushButton的使用(1)!

Qt 是一个1991年由Qt Company开发的跨平台C图形用户界面应用程序开发框架。它既可以开发GUI程序&#xff0c;也可用于开发非GUI程序&#xff0c;比如控制台工具和服务器。Qt是面向对象的框架&#xff0c;使用特殊的代码生成扩展&#xff08;称为元对象编译器(Meta Object Compi…

《WebGIS快速开发教程》写好啦

告诉大家一个好消息&#xff0c;经过我没日没夜&#xff0c;呕心沥血的创作&#xff0c;这本叫做《WebGIS快速开发教程》的书籍终于写好了。这本书适用于还未毕业的学生、以及正在从事传统前后端开发但是想转到WebGIS开发的人。 这本书的特点突出一个“快”和“轻”&#xff0c…

三子棋小游戏---(C语言)

目录 前言&#xff1a; 1.菜单的打印 2.三子棋构思 3.实现三子棋 3.1使用宏的方式定义数组 3.2打印棋盘 3.3玩家下棋 3.4电脑随机下棋 3.5判断结局 ❤博主CSDN:啊苏要学习 ▶专栏分类&#xff1a;C语言◀ C语言的学习&#xff0c;是为我们今后学习其它语言打好基础&am…

Kyligence Zen产品体验——一站式指标平台泰酷辣~

文章目录 一、前言二、为什么需要指标化平台三、什么是Kyligence Zen四、Kyligence Zen新特性五、Kyligence Zen注册篇六、Kyligence Zen体验篇七、Kyligence Zen实战篇7.1 导入数据7.2 创建指标7.3 指标分析 八、Kyligence Zen总结篇九、参考资料 一、前言 随着互联网和物联网…

tomcat集群下的session共享和负载均衡(redis实现)

环境 操作系统&#xff1a;windows tomcat1&#xff1a;Apache Tomcat/7.0.52&#xff08;8085&#xff09; tomcat2&#xff1a;Apache Tomcat/7.0.52&#xff08;8086&#xff09; jre&#xff1a;1.7.0_80 nginx&#xff1a;nginx-1.20.1&#xff08;8070&#xff09; redis…

基于 SpringBoot+WebSocket 无DB实现在线聊天室(附源码)

文章目录 基于 SpringBootWebSocket 无DB实现在线聊天室0 项目说明0.1 样例展示0.2 源码地址 1 WebSocket 简介1.1 HTTP1.2 WebSocket1.2.1 WebSocket 协议1.2.2 WebSocket 交互 2 使用教程2.1 客户端&#xff08;浏览器&#xff09;2.1.1 WebSocket 对象2.1.2 WebSocket 事件2…

重装系统后,qt5.11.3升级到qt5.12.6所遇到的问题

前提&#xff1a;重装了系统&#xff1a; c/qt windows10 语音模块TTS异常&#xff0c;数据库缺少驱动 一&#xff1a;语音模块不能播放 qt使用语音模块时&#xff0c;在初始化时出现异常&#xff1a; onecore\com\combase\dcomrem\resolver.cxx(2299)\combase.dll!00007FF8…

Oracle存储过程~封神之路

简介 Oracle 存储过程是 Oracle 数据库中的一种数据处理对象&#xff0c;它可以在数据库中定义一组预定义的 SQL 语句&#xff0c;用于完成特定的数据库操作。存储过程可以被授权的用户调用&#xff0c;并且可以执行多个语句&#xff0c;这些语句可以被视为一个单独的操作&…

“深圳首届十大金口碑人物”优必选科技创始人兼CEO周剑获此殊荣

深圳晚报社联合深圳市诚商信用评级有限公司、深圳市诚信营商促进会和中国善网&#xff0c;共同举办了首届“金口碑”评选活动。活动涵盖多个领域&#xff0c;历经多个环节的评定和实地走访&#xff0c;最终有10名个人、20家企业和70家商户成功获得“深圳首届十大金口碑人物”、…

Visual C++实现推箱子游戏的核心算法设计与实现(附源码和和资源)

需要源码和资源请点赞关注收藏后评论区留言私信~~~ 在前面的博客中已经讲解了推箱子游戏的菜单和各种对话框的实现&#xff0c;下面对推箱子游戏的核心算法设计和实现进行讲解 一、地图文件读取模块的设计与实现 地图文件读取模块&#xff0c;主要负责将地图文件进行读取&…