Pandas-1:初识Pandas

第1章:初识Pandas

本章将带领读者初步了解Pandas库,介绍其基本概念、功能特点和安装方法,同时学习Pandas的核心数据结构:SeriesDataFrame。通过本章的学习,您将为后续章节的深入学习打下坚实的基础。


1.1 什么是Pandas

Pandas是Python中用于数据分析和处理的强大工具库,主要功能包括:

  • 提供高效的多维数据结构SeriesDataFrame
  • 支持丰富的数据操作功能,如清洗、转换、过滤和统计。
  • 能够与多种数据格式无缝交互,如CSV、Excel、JSON、SQL等。
  • 具备良好的性能表现,支持处理大规模数据。

特点概述

  • 简单易用:提供了类似Excel操作的便捷API。
  • 灵活性强:支持多种数据类型和复杂的数据处理逻辑。
  • 高效:基于NumPy实现,性能优越。
1.2 安装与配置
1.2.1 安装Pandas

Pandas可以通过Python的包管理工具pipconda安装:

# 使用pip安装
pip install pandas# 使用conda安装
conda install pandas
1.2.2 验证安装

安装完成后,可以通过以下命令验证Pandas的版本:

import pandas as pd
print(pd.__version__)
1.2.3 常用依赖库

Pandas的部分功能依赖其他第三方库,如:

  • NumPy:数值计算基础库。
  • Matplotlib:数据可视化支持。
  • openpyxlxlrd:Excel文件操作支持。

确保这些库安装完成以获得完整功能支持。

1.3 核心数据结构

Pandas的核心数据结构是SeriesDataFrame,它们分别代表一维和二维数据。以下详细介绍这两种结构的特点和用法。


1.3.1 Series:一维数据结构

定义
Series是Pandas中表示一维数据的结构,类似于Python的列表或字典,但具有更强大的功能。
特点

  • 每个数据点都带有一个索引。
  • 支持多种数据类型。

创建一个Series

import pandas as pd# 从列表创建
s1 = pd.Series([10, 20, 30, 40])
print(s1)# 从字典创建
s2 = pd.Series({'a': 10, 'b': 20, 'c': 30})
print(s2)# 指定索引
s3 = pd.Series([100, 200, 300], index=['x', 'y', 'z'])
print(s3)

输出

0    10
1    20
2    30
3    40
dtype: int64a    10
b    20
c    30
dtype: int64x    100
y    200
z    300
dtype: int64

操作与方法

  • 访问数据:s1[0]s3['x']
  • 统计信息:s1.sum()s1.mean()
  • 类型转换:s1.astype(float)

1.3.2 DataFrame:二维数据结构

定义
DataFrame是Pandas中表示二维数据的结构,可以理解为“电子表格”或“SQL表”的形式。

特点

  • 行索引(index)和列名(columns)定义。
  • 支持多种数据源输入。

创建一个DataFrame

# 从字典创建
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'City': ['New York', 'Los Angeles', 'Chicago']}
df = pd.DataFrame(data)
print(df)# 从嵌套列表创建
data = [['Alice', 25, 'New York'], ['Bob', 30, 'Los Angeles'], ['Charlie', 35, 'Chicago']]
df2 = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df2)

输出

      Name  Age         City
0    Alice   25     New York
1      Bob   30  Los Angeles
2  Charlie   35      ChicagoName  Age         City
0    Alice   25     New York
1      Bob   30  Los Angeles
2  Charlie   35      Chicago

操作与方法

  • 访问数据:df['Name']df.loc[0]df.iloc[0, 1]
  • 增加列:df['Salary'] = [50000, 60000, 70000]
  • 删除行/列:df.drop('Age', axis=1)

本章主要介绍了Pandas的基本概念、安装方法以及核心数据结构SeriesDataFrame

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

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

相关文章

android9-sdk-28源码替换为-Lineageos-9源码-android-studio-4.2调试LineageOS-16.0的view绘制流程

整体想法: 替换sdk-28源码中每一个x.java文件为指向软连接LineageOS-16.0对应的x.java 调试前奏(准备) android-studio-4.2并不像老版本android-studio那样容易替换api源文件路径 android-studio-4.2: 在Project Structure不能设置api(如28)的源码路径在x.class的反编译窗口…

数据分析——Python绘制实时的动态折线图

最近在做视觉应用开发,有个需求需要实时获取当前识别到的位姿点位是否有突变,从而确认是否是视觉算法的问题,发现Python的Matplotlib进行绘制比较方便。 目录 1.数据绘制2.绘制实时的动态折线图3.保存实时数据到CSV文件中 import matplotlib.…

Unity 使用 ExcelDataReader 读取Excel表

文章目录 1.下载NuGet包2.通过NuGet包获取dll3.将dll复制unity Plugins文件夹下4.代码获取Excel表内容 1.下载NuGet包 通过NuGet下载: ExcelDataReaderExcelDataReader.DataSet离线下载方法 2.通过NuGet包获取dll 根据编译时程序集找到dll位置,找到与…

【vmware+ubuntu16.04】ROS学习_博物馆仿真克隆ROS-Academy-for-Beginners软件包处理依赖报错问题

首先安装git 进入终端,输入sudo apt-get install git 安装后,创建一个工作空间名为tutorial_ws, 输入 mkdir tutorial_ws#创建工作空间 cd tutorial_ws#进入 mkdir src cd src git clone https://github.com/DroidAITech/ROS-Academy-for-Be…

九、FOC原理详解

1、FOC简介 FOC(field-oriented control)为磁场定向控制,又称为矢量控制(vectorcontrol),是目前无刷直流电机(BLDC)和永磁同步电机(PMSM)高效控制的最佳选择…

【MySQL】MySQL中的函数之JSON_KEYS

在 MySQL 中,JSON_KEYS() 函数用于获取 JSON 对象中的所有键名。这个函数非常有用,特别是在你需要知道 JSON 对象中包含哪些键时。下面是一些关于如何使用 JSON_KEYS() 的详细说明和示例。 基本语法 JSON_KEYS(json_doc [, path])json_doc: 要从中提取…

Linux的指令(三)

1.grep指令 功能: 在文件中搜索字符串,将找到的行打印出来 -i:忽略大小写的不同,所以大小写视为一样 -n:顺便输出行号 -v:反向选择,就是显示出没有你输入要搜索内容的内容 代码示例: roo…

2025蓝桥杯(单片机)备赛--扩展外设之DS1302的使用(九)

1.DS1302数据手册的使用 a. DS1302 features: 工作电压:2V-5.5V 通信协议:3线接口(CE、IO、SCLK) 计时:秒、分、小时、月日期、月、星期、年(闰年补偿器期至2100年) b.原理图接线说明&#xff…

Leetcode(滑动窗口习题思路总结,持续更新。。。)

讲解题目:长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target ,找出该数组中满足其和 ≥ target 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例: 输入: target 7, nums [2,3,1,2,4,3] 输出: 2 解…

在CentOS中,通过nginx访问php

其实是nginx反向代理到php-fpm,就像nginx反向代理到tomcat。 1、安装PHP-FPM 1.1 安装 yum install php yum install php-fpm php-common 这里只安装了php-fpm,根据需要安装php模块,比如需要访问mysql则添加安装 php-mysqlnd。 1.2 启动…

Photino:通过.NET Core构建跨平台桌面应用程序,.net国产系统

一、Photino.NET简介: 最近发现了一个不错的框架 Photino.Net 一份代码运行,三个平台 windows max linux ,其中windows10,windows11,ubuntu 18.04,ubuntu 20.04 已测试均可以。mac 因为没有相关电脑没有测试。 github:https://github.com/t…

深度学习:神经网络的搭建

深度学习:神经网络的搭建 神经网络的搭建涉及多个步骤,从选择合适的网络架构到定义网络层、设置超参数以及最终的模型训练。下面我将详细介绍这些步骤,并提供一个具体的示例来展示如何使用PyTorch框架构建一个卷积神经网络(CNN&a…

编辑器vim 命令的学习

1.编辑器Vim 1.vim是一个专注的编辑器 2.是一个支持多模式的编辑器 1.1见一见: vim 的本质也是一条命令 退出来:-> Shift:q 先创建一个文件 再打开这个文件 进入后先按 I 然后就可以输入了 输入完后,保存退出 按Esc --> 来到最后一…

Ubuntu22.04LTS 部署前后端分离项目

一、安装mysql8.0 1. 安装mysql8.0 # 更新安装包管理工具 sudo apt-get update # 安装 mysql数据库,过程中的选项选择 y sudo apt-get install mysql-server # 启动mysql命令如下 (停止mysql的命令为:sudo service mysql stop&#xff0…

Python爬虫:如何从1688阿里巴巴获取公司信息

在当今的数字化时代,数据已成为企业决策和市场分析的重要资产。对于市场研究人员和企业分析师来说,能够快速获取和分析大量数据至关重要。阿里巴巴的1688.com作为中国最大的B2B电子商务平台之一,拥有海量的企业档案和产品信息。本文将介绍如何…

10 基于深度学习的目标检测

首次完成时间:2024 年 11月 20 日 1. 使用OpenCV的dnn模块实现图像分类。 1)程序代码: import numpy as np import cv2# 解析标签文件 row open("model1/synset_words.txt").read().strip().split("\n") class_label …

Spring WebFlux 高级实战(3-2)

1、SpringBoot 使用 1.1、Spring Core 中的响应式 Spring 生态系统的核心模块是Spring Core 模块。Spring 5.x 引入对响应式流和响应式库的原生支持,其中,响应式库包含RxJava 1/2 和Project Reactor 3。 1.1.1、响应式类型转换支持 为了支持响应式流规…

河道水位流量一体化自动监测系统:航运安全的护航使者

在广袤的水域世界中,航运安全始终是至关重要的课题。而河道水位流量一体化自动监测系统的出现,如同一位强大的护航使者,为航运事业的稳定发展提供了坚实的保障。 水位传感器:负责实时监测河道的水位变化。这些传感器通常采用先进的…

RHCE的学习(21)

第三章 Shell条件测试 用途 为了能够正确处理Shell程序运行过程中遇到的各种情况,Linux Shell提供了一组测试运算符。 通过这些运算符,Shell程序能够判断某种或者几个条件是否成立。 条件测试在各种流程控制语句,例如判断语句和循环语句中…

经验笔记:从生成 SSH 密钥到成功连接测试(以Gitee为例)

从生成 SSH 密钥到成功连接测试的经验笔记(以Gitee为例) 1. 生成 SSH 密钥对 选择合适的加密算法 ED25519: 密钥长度:私钥 256 位(32 字节),公钥 256 位(32 字节)&#…