Python笔记:Pandas DataFrames 的使用

Python笔记-DataFrames数据索引 (pandas) 前置知识 - Series索引,NumPy数组索引,Python列表索引 相关知识 - 索引、切边、掩码、花哨的索引,组合索引 1. 将DataFrame看作字典 把 DataFrame 当作一个由若干 Series 对象构成的字典 #DataFrames数据选择示例 import pandas as pd #把 DataFrame 当作一个由若干 Series 对象构成的字典 #创建dataframe s1 = pd.Series({"a":"chinese","b":"math"}) s2 = 阅读详情

Pandas DataFrames 是具有带标签的行和列的二维数据结构,可以存储很多类型的数据。

使用 Pandas Series 字典手动创建一个 DataFrame

  • 第一步是创建 Pandas Series 字典。
  • 第二步, 在字典创建完毕后,我们可以将该字典传递给 pd.DataFrame() 函数。
import pandas as pd

# 创建一个Pandas Series字典
items = {'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']),
         'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}

# 输出看下是否是个字典
print(type(items))

shopping_carts = pd.DataFrame(items)

# 不使用 print,直接在jupyter notebook 上输出
shopping_carts

输出:

<class 'dict'>

shopping_carts 显示输出为:

这里写图片描述

此处:

  • 行和列的标签以粗体形式显示
  • DataFrame 的行标签根据构建字典所用的两个 Pandas Series 的索引标签创建而成
  • DataFrame 的列标签来自字典的键
  • 列按照字母顺序排序,而不是字典中的顺序, 而当我们从数据文件中向 DataFrame 加载数据时,不会发生这种情况
  • 该 DataFrame 中出现了一些 NaN 值。NaN 是指非数字,Pandas 通过这种方式表示该行和列索引没有值,在创建 DataFrame 时,如果特定行索引的特定列没有值,Pandas 将用 NaN 值填充
  • 如果要将此数据馈送到机器学习算法中,我们首先需要删掉这些 NaN 值
  • 在上述例中,我们使用具有定义清晰的索引的 Pandas Series 字典创建了 Pandas DataFrame
  • 如果我们不向 Pandas Series 提供索引标签,Pandas 在创建 DataFrame 时将使用数字行索引
import pandas as pd

# We create a dictionary of Pandas Series without indexes
# 创建一个没有索引的 Pandas Series
data = {'Bob' : pd.Series([245, 25, 55]),
        'Alice' : pd.Series([40, 110, 500, 45])}

# 创建一个 DataFrame
df = pd.DataFrame(data)

# 显示 DataFrame
df

输出显示为:

这里写图片描述

这里:Pandas DataFrame 的行索引从 0 开始,就像 NumPy ndarray 的索引一样。

从 DataFrame 中提取信息

  • 和 Pandas Series 一样,我们也可以使用属性从 DataFrame 中提取信息。
  • 我们输出 shopping_carts DataFrame 中的一些信息
import pandas as pd

# 创建一个Pandas Series字典
items = {'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']),
         'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}

shopping_carts = pd.DataFrame(items)

print('shopping_carts这个DataFrame的形状:', shopping_carts.shape)
print('shopping_carts这个DataFrame的维度:', shopping_carts.ndim)
print('shopping_carts这个DataFrame拥有的元素总数为:', shopping_carts.size, '个')
print()
print('shopping_carts这个DataFrame的数据为:\n', shopping_carts.values)
print()
print('shopping_carts这个DataFrame的行索引为:', shopping_carts.index)
print('shopping_carts这个DataFrame的列索引为:', shopping_carts.columns)

输出:

shopping_carts这个DataFrame的形状: (5, 2)
shopping_carts这个DataFrame的维度: 2
shopping_carts这个DataFrame拥有的元素总数为: 10 个

shopping_carts这个DataFrame的数据为:
 [[245. 500.]
 [ nan  40.]
 [ nan 110.]
 [ 25.  45.]
 [ 55.  nan]]

shopping_carts这个DataFrame的行索引为: Index(['bike', 'book', 'glasses', 'pants', 'watch'], dtype='object')
shopping_carts这个DataFrame的列索引为: Index(['Bob', 'Alice'], dtype='object')

在 Pandas 中,选择特定数据存放于DataFrame中

在这里我们只对某列数据感兴趣, 我们可以通过关键字 columns 和 index 选择要将哪些数据放入 DataFrame 中。

import pandas as pd

# 创建一个Pandas Series字典
items = {'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']),
         'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}

bob_shopping_cart = pd.DataFrame(items, columns=['Bob'])

# We display bob_shopping_cart
bob_shopping_cart

输出为:

这里写图片描述

  • 选择特定几行的DataFrame
import pandas as pd

# 创建一个Pandas Series字典
items = {'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']),
         'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}


# 创先一个只选择特定几行的DataFrame
sel_shopping_cart = pd.DataFrame(items, index = ['pants', 'book'])
# 展示该 DataFrame
sel_shopping_cart

输出:

这里写图片描述

  • 选择特定某行和某列
import pandas as pd

# 创建一个Pandas Series字典
items = {'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']),
         'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}

# 创建只包含Alice列,且索引为glasses, bike的DataFrame
alice_sel_shopping_cart = pd.DataFrame(items, index = ['glasses', 'bike'], columns = ['Alice'])

# 显示该DataFrame
alice_sel_shopping_cart

输出显示为:

这里写图片描述

使用列表(数组)字典手动地创建 DataFrame

  • 注意:字典中的所有列表(数组)长度必须一样
import pandas as pd

# 创建一个数组字典
data = {'Integers' : [1,2,3],
        'Floats' : [4.5, 8.2, 9.6]}

# 创建一个DataFrame 
df = pd.DataFrame(data)

# 显示
df

输出:

这里写图片描述

  • 我们创建的 data 字典没有标签索引,因此 Pandas 在创建 DataFrame 时自动使用数字行索引。
  • 我们可以通过在 pd.DataFrame() 函数中使用关键字 index,为行索引添加标签。
import pandas as pd
data = {'Integers' : [1,2,3],
        'Floats' : [4.5, 8.2, 9.6]}
# 创建一个DataFrame并为每行添加行索引
df = pd.DataFrame(data, index = ['label 1', 'label 2', 'label 3'])
# 显示
df

输出显示:

这里写图片描述

使用 Python 字典列表来手动创建 Pandas DataFrame

import pandas as pd

items2 = [{'bikes': 20, 'pants': 30, 'watches': 35}, 
          {'watches': 10, 'glasses': 50, 'bikes': 15, 'pants':5}]

# 创建一个DataFrame
store_items = pd.DataFrame(items2)

# 显示DataFrame
store_items

输出:

这里写图片描述

同样:可以通过在 pd.DataFrame() 函数中使用关键字 index,为行索引添加标签

import pandas as pd

# 创建一个字典列表
items2 = [{'bikes': 20, 'pants': 30, 'watches': 35}, 
          {'watches': 10, 'glasses': 50, 'bikes': 15, 'pants':5}]

# 创建一个DataFrame并指定row index
store_items = pd.DataFrame(items2, index = ['store 1', 'store 2'])

# 显示DataFrame
store_items

显示:

这里写图片描述

Pandas DataFrames重塑实战:从脏数据到可交付结构 DataFrame重塑是数据科学中连接原始业务数据与下游建模、可视化、系统对接的关键环节。其核心原理在于通过melt、pivot_table、explode、stack等操作,动态调整数据的行、列、索引三维结构,以满足不同任务对数据形态的刚性要求——如绘图需长格式、机器学习需二维特征矩阵、API对接需规范JSON。这一过程远非语法调用,而是涉及向量化思维转换、NaN语义处理、维度唯一性校验、内存优化及类型安全等工程化实践。掌握Pandas DataFrames重塑,本质是掌握如何让数据在真实场景中‘稳、准、 阅读详情

相关推荐

802.1x之EAP-TLS测试方法

CA证书一般是由权威的认证机构发出,用来验证该机构签名的证书,持有CA证书的设备可以验证对端的证书是否由自己信任的机构颁发的。在我们内部使用证书时,我没可以自己充当CA认证机构,管理私钥和CA证书,使用他们签名服务器、客户端证书。2、使用证书请求文件server_csr.pem、CA私钥、CA公钥生成服务器证书(正常情况下自己不拥有CA私钥,是把证书请求文件发给认证机构,由认证机构返回证书)进行802.1x EAP-TLS认证时需要IPC、服务器分别存储CA证书、设备证书、私钥,通过交换证书实现身份验证。

写作是为了更好的思考 2166

python中items函数_Python pandas.DataFrame.items函数方法的使用

DataFrame.items(self) [source]迭代器遍历(列名,Series)对。遍历DataFrame列,返回一个具有列名称和内容为Series的元组。Yields:label: 对象要迭代的DataFrame的列名。content: Series属于每个标签的列条目(作为Series)。例子>>> df = pd.DataFrame({'species': ['...

weixin_39948439的博客 2795

Origin软件XRD全峰拟合保姆级教程:从数据导入到弱峰处理技巧

本文提供了一份Origin软件进行XRD全峰拟合的深度实战指南。文章重点解析了从数据导入预处理、基线锚点视觉化设置,到弱峰拟合的锁定策略与手动干预等核心技巧,旨在帮助用户避开常见错误,获得可靠、精确的拟合结果,从而有效服务于材料结构分析。

rgv2345678的博客 708

pandas 实操函数使用合集

https://blog.csdn.net/u013317445/article/details/88175366

火锅午餐肉的博客 675

SVA学习笔记(1)——property基本语法及巧用define与property

巧用define与property,让代码更加灵活

craftsman2018ship的博客 1574

Navcat最新版的激活和安装教程(全网最靠谱,最快捷的方式)

现在最新版本navcat已经出到了16.3了,并且新版navcat也支持连接redis和图标等更多样化的功能,但是比较头疼的一件事就是,只能试用14天。那么接下来小编教大家如何用最简单的方式使用最新版navcat16.

weixin_50737119的博客 2万+

Pandas 数据处理的基本方法

import pandas as pd,其中pd.Series()类似与python中的字典,可传入字典构造。支持相应的切片,若切片值为index则前后区间都包括在内:d[“123”]或者d[" “:” “]表示两个index之前的全部数,显示索引;若是数字切片,d[0:2]贼左闭右包,隐式索引。 np.DataFrame()类似于两个Series进行叠加,行列都有索引。m=np.DataFra...

qq_42811161的博客 352

保姆级教程:在Windows/Mac上搞定SAM 3的权重和BPE文件下载与配置

本文提供了一份详细的SAM 3权重和BPE文件下载与配置指南,特别针对国内开发者遇到的下载缓慢和配置错误问题。通过国内镜像源快速获取文件,并详细介绍了环境检查、文件下载、路径配置及常见问题解决方案,帮助开发者高效完成SAM 3的部署与使用。

weixin_42547431的博客 554

Pandas的应用---DataFrame

下面对这几种创建方式函数进行分析:函数原型:参数说明:代码如下: 运行结果:文件格式对应的读写操作如下:下面简单介绍几个常用的函数:read_csv函数:读取CSV文件,函数的参数非常多,重要的参数如下: pandas read_sql 和 to_sql 读写Mysql的参数详解excel文件的函数请看:read_excel 和 to_excel 读写Excel的参数详解这篇文章`DataFrame`对象可以看做多个`Series`对象组成,所以它的“索引和切片”和`Series`对象是一样的。我们

sanylove的博客 1万+

手把手教你用微信小程序实现智能硬件音视频通话(含Linux/RTOS适配)

本文详细介绍了如何利用微信小程序硬件框架(WMPF)和音视频SDK,在智能硬件(包括Linux与RTOS设备)上实现音视频通话功能。文章从架构设计、设备端SDK集成、小程序VOIP插件开发到跨平台调试与性能优化,提供了全链路实战指南,帮助开发者打通微信小程序与嵌入式设备间的实时音视频通信。

ooo22的博客 333

神经形态芯片:IBM TrueNorth技术详解以及应用案例

2018年的一项演示中,机器人使用TrueNorth处理了复杂的路径规划,功耗仅为传统系统的1/10。它通过模仿人脑的结构,解决了传统芯片在功耗和并行性上的痛点,并在图像识别、物联网和机器人等领域展现了强大潜力。:不同于传统芯片的时钟驱动,TrueNorth是事件驱动的。例如,工厂中的振动传感器使用TrueNorth检测设备故障的早期迹象,实现了更高效的维护策略,避免了停机时间。:在医疗领域,TrueNorth可以用于可穿戴设备,比如一个智能助听器,它能过滤噪音并增强特定声音,功耗低到可以用纽扣电池供电。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2479

pandas DataFrame简介

DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)Pandas 可以使用 loc 属性返回指定行的数据,如果没有设置索引,第一行索引为。DataFrame类似于一个表格,包括rows(行)和columns(列)。shape:返回行数、列数。...

背着行囊去远方的博客 4179

数据分享】中国12.5m数字高程模型(DEM)数据(分省)

数据名称:ALOS 12.5m DEM 数据。数据名称:ALOS 12.5m DEM 数据。数据大小:61.5GB。空间分辨率:12.5m。数据大小:61.5GB。空间分辨率:12.5m。

JData_Engineer的博客 5392

DataCamp “Data Scientist with Python track” 第九章 Manipulating DataFrames with pandas 学习笔记

Slicing DataFrames 在本节中提到了在slice过程中何时生成series何时生成DataFrame的问题,解决了之前留下的疑惑: 此外,在slice的过程中,我们可以反向slice,to do this for hypothetical row labels 'a' and 'b', you could use a stepsize of -1 like so: df...

DeclanNYC的博客 692

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Python Pandas教程:DataFrames入门

Pandas是一个开源Python库,它在Python编程中提供数据分析和操作。 它是数据表示,过滤和统计编程中非常有前途的库。Pandas中最重要的部分是DataFrame,您可以在其中存储和播放数据。 在本教程中,您将了解DataFrame是什么,如何从不同的源创建它,如何将其导出到不同的输出,以及如何操作其数据。 安装熊猫 您可以使用pip在Python中安装Pandas。在cmd...

Tybyqi的博客 4244

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Julia Dataframes 与 Python pandas

关于人工智能大模型方面的应用,Julia和Python之间可以无缝集成,我们可以使用Julia的机器学习库(如MLJ)在Python环境中训练模型,或者使用Python的深度学习库(如Keras或TensorFlow)在Julia环境中训练模型。这个例子中,我们首先在Julia中创建了一个DataFrame,然后将其保存为一个CSV文件。然后,我们在Python中读取这个CSV文件,并将其转换为一个DataFrame。在这个例子中,我们首先在Julia中创建了一个决策树模型,然后将其保存为Julia代码。

470

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python 条形图 stack_使用Pandas DataFrames在Python中绘制条形图

Bar Plots – The king of plots?The ability to render a bar plot quickly and easily from data inPandas DataFramesis a key skill for any data scientist working in Python.Nothing beats the bar plot for f...

weixin_33179060的博客 1256

3.5万字,图解Python数据分析最强库Pandas(全是干货,建议收藏)

大家好,在 Python 各个工具包中,最频繁使用的应该就是 Pandas 了。今天我以图解的方式给大家介绍 Pandas 中各种常用的操作,内容有点长,喜欢记得点赞、收藏、关注。

wangluoanquan152的博客 1万+

Pandas DataFrames筛选数据

最近突然发现了pandas真实特别好用,实在需要好好学习下。貌似经过pd方法导入的数据都是DataFrame类型(二维)或者Series类型(一维)。今天在百度经验里看到了DataFrame的数据筛选,自己也尝试了下,顺便记录下来。 1.先加载os包,打开一个csv文件,读出其中内容 import os import pandas as pd aqicsv = pd.read_csv("D:

Jt1123的专栏 13万+

python怎么安装pandas模块-如何在Python 3中安装pandas包和使用数据结构

介绍Python pandas包用于数据操作和分析,旨在让您以更直观的方式处理标记或关系数据。基于numpy软件包构建,pandas包括标签,描述性索引,在处理常见数据格式和丢失数据方面特别强大。pandas软件包提供了电子表格功能,但使用Python处理数据要比使用电子表格快得多,并且证明pandas非常有效。在本教程中,我们将首先安装pandas,然后让您了解基础数据结构:Series和Dat...

weixin_37988176的博客 2138

BioPandas完全指南:如何在pandas DataFrames中高效处理分子结构数据

BioPandas是一款专为结构生物学打造的Python库,它能将PDB、MOL2等3D分子坐标文件中的蛋白质和小分子结构数据读取到pandas DataFrames中,为科研人员提供便捷的数据挖掘和分析体验。无论是蛋白质结构分析还是虚拟筛选应用,BioPandas都能显著提升你的工作效率! ## 🚀 为什么选择BioPandas? 在结构生物学研究中,处理分子结构数据往往面临格式复杂、分析

gitblog_00503的博客 386

Python BigQuery DataFrames 开源项目教程

Python BigQuery DataFrames 开源项目教程 项目介绍 python-bigquery-dataframes 是一个开源项目,旨在为 Google BigQuery 提供一个类似于 Pandas 的 DataFrame 接口。通过这个项目,用户可以更方便地在 BigQuery 上进行数据分析和处理,同时利用 Python 的强大生态系统。 项目快速启动 安装 首先,确保你已经...

gitblog_01058的博客 404

Pandas.jl 使用教程

Pandas.jl 使用教程 1、项目介绍 Pandas.jl 是一个 Julia 前端,用于 Python 的 Pandas 包。它提供了一个 Julia 接口,以便在 Julia 环境中使用 Pandas 的功能。Pandas.jl 紧跟 Pandas API,但有一个例外:整数索引自动从 Python 的 0 基索引转换为 Julia 的 1 基索引。 2、项目快速启动 安装 首先,确保你已...

gitblog_00212的博客 567

Pandastable:在Tkinter中使用Pandas DataFrames进行表分析

Pandastable:在Tkinter中使用Pandas DataFrames进行表分析 去发现同类优质开源项目:https://gitcode.com/ pandastable库为Tkinter提供了一个具有绘图和数据处理功能的表小部件,它使用pandas DataFrame类来存储表数据。Pandas是一个功能强大的开源Python库,提供了高性能的数据结构和数据分析工具。Tkinter则是...

gitblog_06767的博客 415

Python包之Pandas介绍

前言:Pandas 是一个开源的软件库。DataFrames和Series是其两个主要数据结构,被广泛用于数据分析。Series 是单维索引数组,而DataFrames 是具有列级和行级索引的表格数据结构。Pandas 是预处理数据集的绝佳工具,可提供高度优化的性能。 1. Pandas基础用法 代码里面有详细的注释和用法示例: 在这里会用到一些NumPy的知识,如果不是很了解NumPy的有关...

崩坏的芝麻 1016
上一篇: Python笔记:访问或修改 Pandas Series 中的元素以及相关运算
下一篇: Python笔记:访问 Pandas DataFrame 中的元素
Wang's Blog
博客等级 码龄12年 7438粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值