Python 教程之 Pandas(7)—— 遍历 Pandas DataFrame 中的行和列

简介: Python 教程之 Pandas(7)—— 遍历 Pandas DataFrame 中的行和列

迭代是一个通用术语,用于一个接一个地获取某物的每一项。Pandas DataFrame 由行和列组成,因此,为了迭代数据帧,我们必须像字典一样迭代数据帧。在字典中,我们以与在数据帧中迭代相同的方式迭代对象的键。

在 Pandas Dataframe 中,我们可以通过两种方式迭代元素:

  • 遍历行
  • 遍历列

遍历行:

为了迭代行,我们可以使用三个函数 iteritems()、iterrows()、itertuples()。这三个函数将有助于对行进行迭代。  

使用 iterrows() 对行进行迭代

为了迭代行,我们应用了 iterrows() 函数,该函数返回每个索引值以及包含每行数据的序列。

代码#1:

# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
    'degree': ["MBA", "BCA", "M.Tech", "MBA"],
    'score':[90, 40, 80, 98]}
# 从字典创建数据框
df = pd.DataFrame(dict)
print(df)

image.png

现在我们应用 iterrows() 函数来获取行的每个元素。

# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
    'degree': ["MBA", "BCA", "M.Tech", "MBA"],
    'score':[90, 40, 80, 98]}
# 从字典创建数据框
df = pd.DataFrame(dict)
# 使用 iterrows() 函数遍历行
for i, j in df.iterrows():
  print(i, j)
  print()

输出: 

image.png

代码#2:

# importing pandas module
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv")
# 对于数据可视化,我们过滤前 3 个数据集
data.head(3)

image.png

现在我们应用 iterrows 来获取数据框中行的每个元素

# importing pandas module
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv")
for i, j in data.iterrows():
  print(i, j)
  print()

输出: 

image.png

使用 iteritems() 对行进行迭代

为了迭代行,我们使用 iteritems() 函数,该函数迭代每列作为键,以标签作为键的值对,以及作为系列对象的列值。

代码#1:

# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
    'degree': ["MBA", "BCA", "M.Tech", "MBA"],
    'score':[90, 40, 80, 98]}
# 从字典创建数据框
df = pd.DataFrame(dict)
print(df)

image.png

现在我们应用一个 iteritems() 函数来检索一行数据帧。

# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
    'degree': ["MBA", "BCA", "M.Tech", "MBA"],
    'score':[90, 40, 80, 98]}
# 从字典创建数据框
df = pd.DataFrame(dict)
# 使用 iteritems() 函数检索行
for key, value in df.iteritems():
  print(key, value)
  print()

输出: 

image.png

代码#2:

# importing pandas module
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv")
# 对于数据可视化,我们过滤前 3 个数据集
data.head(3)

输出: 

image.png

现在我们应用 iteritems() 以从数据框中检索行

# importing pandas module
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv")
for key, value in data.iteritems():
  print(key, value)
  print()

输出: 

image.png

使用 itertuples() 对行进行迭代

为了遍历行,我们应用了一个函数 itertuples(),这个函数为 DataFrame 中的每一行返回一个元组。元组的第一个元素将是行的相应索引值,而其余的值是行值。

代码#1:

# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
    'degree': ["MBA", "BCA", "M.Tech", "MBA"],
    'score':[90, 40, 80, 98]}
# 从字典创建数据框
df = pd.DataFrame(dict)
print(df)

image.png

现在我们应用一个 itertuples() 函数来获取每一行的元组

# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
    'degree': ["MBA", "BCA", "M.Tech", "MBA"],
    'score':[90, 40, 80, 98]}
# 从字典创建数据框
df = pd.DataFrame(dict)
# 使用 itertuples()
for i in df.itertuples():
  print(i)

输出: 

image.png

代码#2:

# importing pandas module
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv")
# 对于数据可视化,我们过滤前 3 个数据集
data.head(3)

image.png

现在我们应用一个 itertuples() 来获取每行的 atuple

# importing pandas module
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv")
for i in data.itertuples():
  print(i)

输出: 

image.png

遍历 Columns :

为了遍历列,我们需要创建一个数据框列的列表,然后遍历该列表以提取数据框列。

代码#1:

# importing pandas as pd
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
    'degree': ["MBA", "BCA", "M.Tech", "MBA"],
    'score':[90, 40, 80, 98]}
# 从字典创建数据框
df = pd.DataFrame(dict)
print(df)

image.png

现在我们遍历列为了遍历列,我们首先创建一个数据框列的列表,然后遍历列表。

python

复制代码

# 创建数据框列的列表
columns = list(df)
for i in columns:
  # printing the third element of the column
  print (df[i][2])

输出: 

image.png

代码#2:

# importing pandas module
import pandas as pd
# 从csv文件制作数据框
data = pd.read_csv("nba.csv")
# 对于数据可视化,我们过滤前 3 个数据集
col = data.head(3)
col

image.png

现在我们遍历 CSV 文件中的列以遍历列,我们创建数据框列的列表并遍历列表

# 创建数据框列的列表
clmn = list(col)
for i in clmn:
  # 打印列的第三个元素
  print(col[i][2])

输出: 

image.png

目录
相关文章
|
10月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
736 0
|
10月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
784 0
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
898 0
|
Python
解决Python报错:DataFrame对象没有concat属性的多种方法(解决方案汇总)
总的来说,解决“DataFrame对象没有concat属性”的错误的关键是理解concat函数应该如何正确使用,以及Pandas库提供了哪些其他的数据连接方法。希望这些方法能帮助你解决问题。记住,编程就像是解谜游戏,每一个错误都是一个谜题,解决它们需要耐心和细心。
681 15
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
291 3
|
存储 数据挖掘 数据处理
Python Pandas入门:行与列快速上手与优化技巧
Pandas是Python中强大的数据分析库,广泛应用于数据科学和数据分析领域。本文为初学者介绍Pandas的基本操作,包括安装、创建DataFrame、行与列的操作及优化技巧。通过实例讲解如何选择、添加、删除行与列,并提供链式操作、向量化处理、索引优化等高效使用Pandas的建议,帮助用户在实际工作中更便捷地处理数据。
612 2
|
存储 安全 API
【Python 基础教程 21】Python3 文件操作全面指南:从入门到精通的综合教程
【Python 基础教程 21】Python3 文件操作全面指南:从入门到精通的综合教程
623 0
|
数据可视化 IDE 开发工具
【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
1334 13
|
监控 数据可视化 搜索推荐
【Python篇】matplotlib超详细教程-由入门到精通(下篇)2
【Python篇】matplotlib超详细教程-由入门到精通(下篇)
498 9
|
数据可视化 IDE Linux
【Python篇】PyQt5 超详细教程——由入门到精通(序篇)
【Python篇】PyQt5 超详细教程——由入门到精通(序篇)
3713 3

热门文章

最新文章

推荐镜像

更多