Pandas:Series和DataFrame的概念、常用属性和方法

本文目录:

  • 一、Series和Dataframe的概念
  • 二、创建Series对象
  • 三、创建Dataframe对象
    • (一)Series
      • 1.Series的常用属性总结如下:
      • 2.Series的常用方法总结如下:
    • (二)Dataframe
      • 1.Dataframe的常用属性
      • 2.Dataframe的常用方法

一、Series和Dataframe的概念

Pandas 只有两种核心数据结构:

Series:一维数组(单列数据,带索引)。

DataFrame:二维表格(多列 Series 的集合,每列可不同数据类型)。
在这里插入图片描述

【特别分享】

Pandas没有独立的“行”对象源于两点原因****:

(1)设计哲学:Pandas 是围绕 列式存储(Column-oriented) 优化的,列操作(如聚合、过滤)比行操作更高效;

(2)内存布局:DataFrame 的每列(Series)在内存中连续存储,而行是跨列的,访问效率较低。

二、创建Series对象

Series是最基本的数据结构对象,DataFrame 的一列就是一个 Series;

它是一个类似于一维数组的对象;

它的创建主要包括三个部分:values(值:可为列表、字典、numpy数组、标量值等等)、index(行索引)、name(series名字),其中values是必须有的,index和name可有可无,当不指定index时,系统会默认从0开始。

Series的创建方式有多种:
在这里插入图片描述
代码如下(列举3种,其它类同):

import pandas as pd# 从列表创建,默认索引为 0, 1, 2...
data = [10, 20, 30, 40]
s = pd.Series(data)
print(s)# 字典的键自动成为索引
data = {'a': 10, 'b': 20, 'c': 30}
s = pd.Series(data)
print(s)# 所有值均为 5,索引需单独指定
s = pd.Series(5, index=['a', 'b', 'c'])
print(s)注意:Series的缺失值用 NaN 表示。

三、创建Dataframe对象

DataFrame是Pandas中最基本的数据结构,Series的许多属性和方法在DataFrame中也一样适用,可以理解为一个二维表结构。

Dataframe的创建方式主要包括列表创建和字典创建,还有csv文件读取,代码如下:

import pandas as pd
#从字典创建
data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'City': ['New York', 'London', 'Tokyo']
}df = pd.DataFrame(data)
print(df)#从列表创建
data = [['Alice', 25, 'New York'],['Bob', 30, 'London'],['Charlie', 35, 'Tokyo']
]df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)#从csv文件读取
df = pd.read_csv('data.csv')  # 读取 CSV 文件
print(df.head())  # 查看前5行

四、属性和方法

Series和Dataframe的很多属性和方法是共通的。

(一)Series

1.Series的常用属性总结如下:

在这里插入图片描述
代码如下:

例(列举重点):
import pandas as pd
s = pd.Series([1, 2], name='my_series')
print(s)  # 输出:'my_series's1 = pd.Series([1, 2, 3], name="A")  
s2 = pd.Series(["X", "Y", "Z"], name="B")print(s1.ndim)
print(s1.shape)
print(s1.loc[1]) #按索引1取值
print(s1.iloc[1])#按索引位置1取值

2.Series的常用方法总结如下:

在这里插入图片描述

代码如下:

例(列举重点):print(df.head())    #前五条数据
print(s.describe())   #查看详情
s1=s.sample(2)   #随机抽取2条数据
print(s1)    
print(s1.sort_values()) #默认升序,降序需指定ascending=False#扩展:
print(s1.sort_values(ascending=False))   #降序排列,返回新的
print(s1.sort_values(ascending=True))   #升序排列,返回新的
print(s1.describe(include="all"))    #打印所有字段详细信息
print(s1.describe(exclude="int,float")) #打印除了int和float的字段信息

(二)Dataframe

1.Dataframe的常用属性

在这里插入图片描述

2.Dataframe的常用方法

在这里插入图片描述

有关属性和方法整体代码如下:

例(列举部分重点):
import pandas as pd# 加载数据集, 得到df对象
df = pd.read_csv('data/scientists.csv')print('=============== 常用属性 ===============')
# 查看维度, 返回元组类型 -> (行数, 列数), 元素个数代表维度数
print(df.shape)
# 查看数据值个数, 行数*列数, NaN值也算
print(df.size)
# 查看数据值, 返回numpy的ndarray类型
print(df.values)
# 查看维度数
print(df.ndim)
# 返回列名和列数据类型
print(df.dtypes)
# 查看索引值, 返回索引值对象
print(df.index)
# 查看列名, 返回列名对象
print(df.columns)
print('=============== 常用方法 ===============')
# 查看前5行数据
print(df.head())
# 查看后5行数据
print(df.tail())
# 查看df的基本信息
df.info()
# 查看df对象中所有数值列的描述统计信息
print(df.describe())
# 查看df对象中所有非数值列的描述统计信息
# exclude:不包含指定类型列
print(df.describe(exclude=['int', 'float']))
# 查看df对象中所有列的描述统计信息
# include:包含指定类型列, all代表所有类型
print(df.describe(include='all'))
# 查看df的行数
print(len(df))
# 查看df各列的最小值
print(df.min())
# 查看df各列的非空值个数
print(df.count())
# 查看df数值列的平均值
print(df.mean())

今天分享到此结束。

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

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

相关文章

数据中心Overlay解决方案

文档围绕数据中心 Overlay 解决方案展开,指出数据中心向大集中、虚拟化、云业务演进,传统架构存在网络规划复杂、弹性不足、业务扩展受限等问题。Overlay 网络在物理网络上构建虚拟网络,实现名址分离、网络与物理解耦,支持业务灵活部署。方案采用VXLAN 技术(如 SDN 控制模…

SpringBoot 项目实现操作日志的记录(使用 AOP 注解模式)

本文是博主在做关于如何记录用户操作日志时做的记录,常见的项目中难免存在一些需要记录重要日志的部分,例如权限和角色设定,重要数据的操作等部分。 博主使用 Spring 中的 AOP 功能,结合注解的方式,对用户操作过的一些…

以太联 - Intellinet 闪耀台北 SecuTech 国际安全科技应用博览会

2025 年 5 月 7 日至 9 日,台北 SecuTech 国际安全科技应用博览会现场热闹非凡,以太联 - Intellinet 携旗下前沿产品与解决方案精彩亮相,成为展会上一道亮丽的风景线,吸引了众多业内人士的目光,收获了广泛关注与高度认…

【华为鸿蒙电脑】首款鸿蒙电脑发布:MateBook Fold 非凡大师 MateBook Pro,擎云星河计划启动

文章目录 前言一、HUAWEI MateBook Fold 非凡大师(一)非凡设计(二)非凡显示(三)非凡科技(四)非凡系统(五)非凡体验 二、HUAWEI MateBook Pro三、预热&#xf…

OSA快速上手

我第一次接触OSA,第一感觉就是庞杂,相关的文档和资料基本都是英文,运行下示例场景,效果和效率确实很香。本文仅针对初次接触OSA、望而却步的朋友们进行快速运用的引导。 首先,找个安装包,导入项目后&#…

RK3568下编译解决未定义符号而报错终止链接

现象:我从rk3568板子上导出来了一个 libsqlite3.so 然后编译连接就会报这样的错误 解决办法有多种,以前我遇到这种情况,我都是使用sqlite3源码从新编译一份使用,并替换到板子上。 现在我是用另一种方法:增加编译参数 …

LSTM-Attention混合模型:美债危机与黄金对冲效率研究

摘要:本文依托多维度量化分析框架,结合自然语言处理(NLP)技术对地缘文本的情绪挖掘,构建包含宏观因子、风险溢价因子及技术面因子的三阶定价模型,对当前黄金市场的波动特征进行归因分析。实证结果显示&…

Spring Boot 多参数统一加解密方案详解:从原理到实战

Spring Boot 多参数统一加解密方案详解:从原理到实战 一、前言:为什么需要参数加解密? 在现代Web开发中,数据安全传输是基本要求。特别是涉及敏感数据(如用户隐私、支付信息等)时,仅靠HTTPS还不够,我们需要对关键参数进行二次加密。本文将详细介绍Spring Boot中实现多…

【css】【面试提问】css经典问题总结

第一章 CSS基础相关提问 1.1 选择器问题 1.1.1 选择器优先级疑问 1. 优先级规则 内联样式&#xff1a;直接写在 HTML 标签的 style 属性中的样式&#xff0c;优先级最高。例如&#xff1a; <p style"color: red;">这是一段红色文字</p>这里文字的颜…

Linux服务器配置深度学习环境(Pytorch+Anaconda极简版)

前言&#xff1a; 最近做横向需要使用实验室服务器跑模型&#xff0c;之前用师兄的账号登录服务器跑yolo&#xff0c;3张3090一轮14秒&#xff0c;我本地一张4080laptop要40秒&#xff0c;效率还是快很多&#xff0c;&#xff08;这么算一张4080桌面版居然算力能比肩3090&#…

【嵌入式】I2S音频接口3分钟入门

1. I2S接口入门 I2S&#xff08;Inter-IC Sound&#xff09;是一种专门用于数字音频数据传输的串行通信接口。以下是其核心要点&#xff1a; 1.1 基本概念 I2S是飞利浦公司开发的一种音频接口标准主要用于数字音频设备之间的数据传输采用串行通信方式 1.2 主要特点 支持立…

java spring -framework -mvc

工程demo&#xff1a;myapp011工程下“_05mvcboot01” model 目录 1、Spring MVC和MVC 2、创建项目&#xff1a; 3、处理请求 4、HTTP协议 超文本传输协议 4.1、 HTTP和HTTPS的区别 4.2、SSL证书 4.3、请求和响应 4.3.1、请求 4.3.2、响应 5、数据的传递与接收 5.1、客户端传…

没有屋檐的房子-038—田鼠的酷刑

秋天是收获的季节&#xff0c;收获之后的田野里不再是湿漉漉的。水稻此时已经了却了此生&#xff0c;他们的后代稻谷已经被搬进了打谷场&#xff0c;被蜕变成了大米&#xff0c;住进了生产队的粮仓然后又进入各家的粮食口袋或者米柜中。稻田里视野逐渐开阔&#xff0c;收割完水…

IntelliJ IDEA打开项目后,目录和文件都不显示,只显示pom.xml,怎样可以再显示出来?

检查.idea文件夹 如果项目目录中缺少.idea文件夹&#xff0c;可能导致项目结构无法正确加载。可以尝试删除项目根目录下的.idea文件夹&#xff0c;然后重新打开项目&#xff0c;IDEA会自动生成新的.idea文件夹和相关配置文件&#xff0c;从而恢复项目结构。 问题解决&#xff0…

Harmony开发 List、Grid拖动自定义排序实现

1. Harmony开发 List、Grid拖动自定义排序实现 1.1. List拖动功能 本示例基于显式动画、List组件实现了ListItem的上下拖动、ListItem切换以及ListItem插入的效果。   实现思路:List手势拖动 @Entry @Component struct ListDragPage {@State private arr: string[] = [0, …

Jules 从私有预览阶段推向全球公测

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

ubuntu上安装mysql

sudo apt update查看可用版本&#xff1a; apt-cache policy mysql-server返回&#xff1a; mysql-server: 已安装&#xff1a;(无) 候选&#xff1a; 8.0.42-0ubuntu0.24.04.1 版本列表&#xff1a; 8.0.42-0ubuntu0.24.04.1 500 500 http://cn.archive.ubuntu.com/ubuntu no…

预先学习:构建智能系统的 “未雨绸缪” 之道

一、预先学习&#xff1a;训练阶段的 “模型预构建” 哲学 1.1 核心定义与生物启发 预先学习的本质是模拟人类的 “经验积累 - 快速决策” 机制&#xff1a;如同医生通过大量病例总结诊断规则&#xff0c;算法在训练阶段利用全量数据提炼规律&#xff0c;生成固化的 “决策模型…

【notes】VScode 使用总结

文章目录 扩展 c/cwindows7 系统下 c/c 自动升级导致的插件无法正常使用 设置 文件格式设置打开文件的默认格式 扩展 c/c windows7 系统下 c/c 自动升级导致的插件无法正常使用 问题 1. c/c扩展的1.25.x版本不再支持windows7 系统&#xff0c;当设置VScode自动升级拓展插件时…

wbs校验

*数据定义 DATA:tab_set_bukrs_gxgsdm5 TYPE TABLE OF rgsb4, rec_set_bukrs_gxgsdm5 LIKE LINE OF tab_set_bukrs_gxgsdm5, r_bukrs_gxgsdm5 TYPE RANGE OF bukrs WITH HEADER LINE. DATA: tab_set_hkont_gxkjkm5 TYPE STANDARD TABLE OF rgsb4, …