Python笔记:访问 Pandas DataFrame 中的元素

访问和提取DataFrame中的元素 欢迎关注”生信修炼手册”!访问元素和提取子集是数据框的基本操作,在pandas中,提供了多种方式。对于一个数据框而言,既有从0开始的整数下标索引,也有行列的标签索引>>&gt... 阅读详情

我们可以使用行和列标签访问 DataFrame 的行、列或单个元素

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
print(store_items)
print()

# 通过标签访问行,列和元素
print('在每个store中有多少自行车:\n', store_items[['bikes']])
print()
print('在每个store中有多少自行车和短裤:\n', store_items[['bikes', 'pants']])
print()
print('在store 1中有什么条目:\n', store_items.loc[['store 1']])
print()
print('在Store 2中有多少自行车:', store_items['bikes']['store 2'])

输出:

         bikes  glasses  pants  watches
store 1     20      NaN     30       35
store 2     15     50.0      5       10

在每个store中有多少自行车:
          bikes
store 1     20
store 2     15

在每个store中有多少自行车和短裤:
          bikes  pants
store 1     20     30
store 2     15      5

在store 1中有什么条目:
          bikes  glasses  pants  watches
store 1     20      NaN     30       35

在Store 2中有多少自行车: 15

注意:在访问 DataFrame 中的单个元素时,就像上个示例一样,必须始终提供标签,并且列标签在前,格式为 dataframe[column][row],如果先提供行标签,将出错。

通过添加行或列修改 DataFrame

  • 我们向 store_items DataFrame 添加一个新列,表示每个商店的衬衫库存。我们来编写代码:
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'])

# 向store1中添加15个shirts, 向store2中添加2个shirts
store_items['shirts'] = [15,2]

# 显示修改过得 DataFrame
store_items

显示输出:

这里写图片描述

  • 可以看出:当我们添加新的列时,新列添加到了 DataFrame 的末尾

  • 下面,使用算术运算符向 DataFrame 中的其他列之间添加新列

import pandas as pd

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

# 通过相加shirts和pants列,来创建一个称为suits的新列
store_items['suits'] = store_items['pants'] + store_items['shirts']

# 显示修改后的 DataFrame
store_items

输出:

这里写图片描述

向 DataFrame 中添加行

要向 DataFrame 中添加行,我们首先需要创建新的 Dataframe,然后将其附加到原始 DataFrame 上。

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'])


# 创建一个包含一个字典的列表
new_items = [{'bikes': 20, 'pants': 30, 'watches': 35, 'glasses': 4}]

# 创建一个新的DataFrame并设标签为:store 3
new_store = pd.DataFrame(new_items, index = ['store 3'])

# 使用 .append() 方法将此行添加到 store_items DataFrame 中
store_items = store_items.append(new_store)

# 显示被修改的DataFrame
store_items

输出显示:

这里写图片描述

注意:将新行附加到 DataFrame 后,列按照字母顺序排序了。

使用特定列的特定行中的数据向 DataFrame 添加新的列

  • 假设你想在store 2 和 3 中上一批新手表,并且新手表的数量与这些商店原有手表的库存一样

  • 参照上面代码补充:

store_items['new watches'] = store_items['watches'][1:]

# 显示修改过得 DataFrame
store_items

显示:

这里写图片描述

  • dataframe.insert(loc,label,data) 方法使我们能够将新列(具有给定列标签和给定数据)插入 dataframe 的 loc 位置

重用上述代码:

# 将名称为 shoes 的新列插入 suits 列前面。因为 suits 的数字索引值为 4,我们将此值作为 loc
store_items.insert(4, 'shoes', [8,5,0])

# 显示修改后的 DataFrame
store_items

显示:

这里写图片描述

要删除 DataFrame 中的行和列

  • 使用 .pop() 和 .drop() 方法。.pop() 方法仅允许我们删除列,而 .drop() 方法可以同时用于删除行和列,只需使用关键字 axis 即可

重用上述代码:

# 删除new watches列
store_items.pop('new watches')

# 显示修改后的 DataFrame
store_items

显示:

这里写图片描述

# 删除 watches, shoes, pants 几列
store_items = store_items.drop(['watches', 'shoes', 'pants'], axis = 1)

# 显示修改后的 DataFrame
store_items

显示:

这里写图片描述

  • 删除 store 2 and store 1 行
# 删除 store 2 and store 1 行
store_items = store_items.drop(['store 2', 'store 1'], axis = 0)

# 显示修改后的 DataFrame
store_items

显示:

这里写图片描述

  • 我们可能需要更改行和列标签。我们使用 .rename() 方法将 bikes 列标签改为 hats
# 使用 .rename() 方法将 bikes 列标签改为 hats
store_items = store_items.rename(columns = {'bikes': 'hats'})

# 显示修改后的 DataFrame
store_items

显示:

这里写图片描述

  • 也可以使用 .rename() 方法更改行标签
store_items = store_items.rename(index = {'store 3': 'store 1'})
# 显示修改后的 DataFrame
store_items

显示:

这里写图片描述

  • 最后,也可以使用set_index将索引改为 DataFrame 中的某个列,这个不常用。https://blog.youkuaiyun.com/starter_____/article/details/79185054
Pandas —— DataFrame的创建、修改、访问、删除及转置 关于Series的详解: http://blog.youkuaiyun.com/starter_____/article/details/79179417 创建DataFrame DataFrame是一个二维的表结构,它含有一组有序的列。DataFrame既有行索引又有列索引,它可以被看做由Series组成的字典。 传递Dict对象创建DataFrame 若不指定行索引,则会自动创建一个... 阅读详情

相关推荐

python pandas 之 Dataframe 数据结构

DataFrame 是 pandas 中两个主要数据结构之一,另一个是 Series。DataFrame 的文档在这里:传送门。 因为这几天需要使用这个数据结构来完成一个小作业,在这里总结一下 Dataframe 的一些基本用法。 文章目录创建元素访问获取行列常用属性矩阵转置元素个数行元素个数列元素个数操作遍历行遍历列遍历求和行求和列求和参考资料 创建 首先我们来看一看 Dataframe 的创建...

在到处之间找我 2570

Python中的Pandas详解-5-访问元素

我们可以通过多种不同的方式访问 Pandas DataFrame 中的元素。通常,我们可以使用行和列标签访问 DataFrame 的行、列或单个元素。我们将使用在上节课创建的同一 store_items DataFrame。请注意,在访问 DataFrame 中的单个元素时,就像上个示例一样,必须始终提供标签,并且列标签在前,格式为。例如,在检索商店 2 中的自行车数量时,我们首先使用列标签,然后使用行标签。如果先提供行标签,。我们还可以通过添加行或列修改 DataFrame。

Saki_Python的博客 393

python基础知识:Pandas DataFrame中的tuple元素遍历的实现

前言: 今天为大家带来的内容是:Pandas DataFrame中的tuple元素遍历的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧!!! pandas中遍历dataframe的每一个元素 假如有一个需求场景需要遍历一个csv或excel中的每一个元素,判断这个元素是否含有某个关键字 那么可以用pytho...

weixin_41334453的博客 3549

Python_pandas不是熊猫(1)——DataFrame的几种索引操作

0.写在前面 pandas不是????熊猫!笔者才疏学浅,今儿才知道,python的pandas库,之所以叫pandas,不是因为pandas的作者喜欢熊猫,而是由三个单词组成的,至于哪三个,笔者留个彩蛋,大家自己查查???? 在本篇博客你将看到,pandas的DataFrame数据结构的几种索引操作 这是本例要用到的DataFrame: import pandas as pd import numpy a...

先说一下,就简单地写点儿氵文,不是博客,只是我的笔记本/工具书 1958

【python】pandas:DataFrame详解

DataFrame是一个二维的表格型数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值等)。DataFrame可以被视为一个电子表格或SQL表,或是由多个Series对象组成的字典(这些Series对象共享一个索引)。

MAOZI8的博客 1605

Python中的Pandas详解-4-DataFrame

Pandas DataFrames 是,可以存储很多类型的数据。如果你熟悉 Excel 的话,可以将 Pandas DataFrames 看做类似于电子表格。在接下来的课程中,我们将开始学习如何手动地通过字典创建 Pandas DataFrame,稍后,我们将学习如何将数据文件中的数据加载到 DataFrame 中。首先,我们将使用 Pandas Series 字典手动创建一个 DataFrame。第一步是创建 Pandas Series 字典。字典创建完毕后,我们可以将该字典传递给函数。

Saki_Python的博客 853

Python---数据分析(Pandas七:二维数组DataFrame中元素的索引与访问,其他常用方法)

在Pandas中,DataFrame是用于处理二维表格数据的核心结构。访问DataFrame中的元素主要通过标签索引(.loc)和位置索引(.iloc)。`.loc`允许你使用行和列的标签来选择数据,而`.iloc`则使用基于零的整数索引。此外,Pandas还提供了许多其他常用方法,如`.head()`和`.tail()`用于查看数据的头部和尾部,`.describe()`用于获取描述性统计信息,`.sort_values()`用于排序,`.groupby()`用于分组等,这些方法极大地简化了数据分析和处理

weixin_64110589的博客 1700

Python 的 pandas DataFrame 简介

pandas是一个开源的 Python 库,它提供了高性能的数据操控,使得数据分析变得快速和简单。典型的pandas用途有重塑(reshape)、排序(sort)、切片(slice)、聚合(aggregate)和合并(merge)数据。pandas库的底层是NumPy库。NumPy是用来处理数组的,它的性能比传统的 Python 列表,高得多,因为它把数据存放在一块连续的内存里。pandasSeries(系列):这是一个类似于一维数组的对象,包含一个数据数组和一个数据标签数组。数据标签数组被称作index。

dowhileprogramming的专栏 1149

【数据分析】数据筛选与访问行列元素3

使用pd.read_csv()函数读取路径为 "/Users/yequ/电商数据清洗.csv" 的CSV文件,并将结果赋值给变量data。data = pd.read_csv("/Users/yequ/电商数据清洗.csv", index_col="order_id")data = pd.read_csv("/Users/yequ/电商数据清洗.csv", index_col="order_id")data = pd.read_csv("/Users/yequ/电商数据清洗.csv")

fmc121104的博客 1040

python dataframe是什么_什么是Pandas的DataFrame?

1. 什么是DataFrameDataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由series组成的字典(共用同一个索引)2. DateFrame特点DataFrame中面向行和面向列的操作基本是平衡的。DataFrame中的数据是以一个或多个两维块存放的(而不是列表、字典或别的一维数...

weixin_35289035的博客 2018

WSL2下用QEMU模拟ARM开发板:从编译uboot到调试全流程(附常见错误解决)

本文详细介绍了在WSL2环境下使用QEMU模拟ARM开发板的完整流程,包括uboot编译、内核调试等关键步骤。通过QEMU模拟vexpress-a9开发板,开发者可以高效搭建嵌入式开发环境,解决常见错误并提升开发效率。

solidity8miner的博客 288

Python3 pandas,DataFrame的常用属性、访问DataFrame中的数据

查看DataFrame的常用属性 DataFrame的基础属性有values、index、columns和dtypes,分别可以获取元素、索引、列名和类型。 读取CSV数据 查看DataFrame的属性 访问DataFrame中的数据 DataFrame单列数据获取 DataFrame单列多行数据获取 DataFrame多行多列数据获取 DataFrame多行...

霏霏_伊人 4974

Jetson AGX Orin 新手避坑:解决‘找不到nvidia-jetpack包’的完整修复指南

本文详细介绍了Jetson AGX Orin设备在安装JetPack开发套件时遇到的'nvidia-jetpack包缺失'问题的完整解决方案。通过分析问题根源、提供分步修复指南以及系统优化建议,帮助开发者快速解决这一常见问题,充分发挥Jetson AGX Orin的边缘计算性能。

weixin_42520909的博客 462

pandas 获取Dataframe元素值的几种方法

可以通过遍历的方法: pandas按行按列遍历Dataframe的几种方式:https://blog.youkuaiyun.com/sinat_29675423/article/details/87972498 pandas.DataFrame.at 根据行索引和列名,获取一个元素的值 >>> df = pd.DataFrame([[0, 2, 3], [0, 4, 1], [10, 20,...

LuckyDucky的博客 19万+

解锁 STP 与 SOLIDWORKS 转换密码:工具及迪威在线转换秘籍

STP 文件能够完整地记录 3D 模型的几何形状、尺寸、公差、材料属性等丰富信息,无论是简单的机械零件,还是复杂的装配体,都能精准呈现。而在线转换以迪威模型为例,凭借便捷性、高效性和安全性,为广大 3D 专业技术人员和学生党在无需安装额外软件的情况下,轻松实现格式转换提供了有力支持。在实际工作和学习中,可根据自身具体情况灵活选择合适的转换方式,以确保 3D 设计工作流程的顺畅进行,让创意在不同格式间自由流动并绽放光彩。在 3D 设计与建模的广袤世界里,不同格式文件间的转换常常是连接创意与实现的关键桥梁。

技术说明博主 3449

[特殊字符]交通标志检测与分类数据集-智能驾驶系统 地图数据更新 1,886张图片

🚦交通标志检测与分类数据集-智能驾驶系统 地图数据更新 1,886张图片

cver123的博客 2075

Python之pandas库DataFrame基本操作

参考资源:https://blog.youkuaiyun.com/sinat_29957455/article/details/79028730https://blog.youkuaiyun.com/cymy001/article/details/78275886 目录 一、创建一个DataFrame: 1.1用字典dict,字典值value是列表list 1.2用Series构建DataFrame 1.3...

weixin_43585712的博客 2万+

最新版电子发票样式html+css--普通发票+增值发票

【代码】最新版电子发票样式html+css--普通发票+增值发票。

weixin_44110923的博客 3692

dataframe数组做元素_访问和提取DataFrame中的元素

访问元素和提取子集是数据框的基本操作,在pandas中,提供了多种方式。对于一个数据框而言,既有从0开始的整数下标索引,也有行列的标签索引>>> df = pd.DataFrame(np.random.randn(4, 4), index=['r1', 'r2', 'r3', 'r4'], columns=['A', 'B', 'C', 'D'])>>> df...

weixin_42356552的博客 1153

python爬取淘宝数据

python爬取淘宝数据淘宝评论 淘宝评论 打开淘宝,选择打开需要爬取的商品的评论。在谷歌浏览器选择开发者工具,选择network,找到list_detail_rate.htm?itemId=624466733121,点击headers、previews,可以看见相应的评论数据。 爬取一页屏评论代码如下 import re import requests headers = { 'Referer': '在headers中', 'User-Agent': '在

qq_36333776的博客 5800

手把手教你学simulink(13.2)--构建一个单相并网逆变器Simulink仿真模型

基于Simulink的单相并网逆变器项目的详细仿真实例。这个项目将重点放在逆变器的详细建模、最大功率点跟踪(MPPT)控制策略、并网控制和仿真分析上。我们将使用MATLAB/Simulink来构建整个系统,并通过具体的代码和模块来实现各个功能。

MHD0815的博客 546

python中pandas之dataframe知识

pandas中dataframe用法详细总结

hutaotaotao的博客 2342

工业相机,大恒,面振相机8脚电源线和I/O触发接口线,颜色和接法说明和触发软件设定

上图: 说明一下,工业相机有TTL逻辑电平触发,也有光耦触发等。 这里一般我们用电路板驱动,就用GPIO触发模式, 这里,准备了两个GPIO触发模式,为LINE2,LINE3都可以选择,然后有一个GPIO_GND 如果,你只有一个触发接口,那么如图,选两个就好了。 实际接法如图。 ...

山云的专栏 1万+

Python Pandas 结构之 Series 和 DataFrame

Python Pandas 结构之 Series 和 DataFrame

鱼丸丶粗面 1443

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

python 找出两个dataframe中不同的元素

pandas从Excel中读取数据,数据格式为dataframe格式 用for循环对进行两个列的数据比较想找出不同的元素时,发现数据是一样的,但是比较结果却是相同和不同的都存在(总之就是不是我以为的效果) 后来将要对比的两列数据先转成list再对比,得出理想结果(反思老感觉很简单的功能写了一大堆),如下: #!/usr/bin/env python # -*- coding: utf-8 ...

刘公子N的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python pandas 对dataframe中的数据进行四则运算及筛选

对dataframe的行,列加减乘除四则运算 首先,构建一个dataframe import pandas as pd d={'one':{'a':1,'b':2,'c':3,'d':4},'two':{'a':5,'b':6,'c':7,'d':8},'three':{'a':9,'b':10,'c':11,'d':12}} df=pd.DataFrame(d) print(df) 输出结果为...

weixin_43745169的博客 1万+
上一篇: Python笔记:Pandas DataFrames 的使用
下一篇: Python笔记:在Pandas中处理NaN值
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、付费专栏及课程。

余额充值