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

目录
相关文章
|
8天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
29 0
|
6天前
|
SQL 数据采集 数据可视化
Pandas 数据结构 - DataFrame
10月更文挑战第26天
21 2
Pandas 数据结构 - DataFrame
|
2天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
10 2
|
7天前
|
SQL 数据采集 数据挖掘
Pandas 教程
10月更文挑战第25天
18 2
|
10天前
|
数据采集 数据可视化 数据处理
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
29 5
|
9天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
20 1
|
30天前
|
机器学习/深度学习 数据采集 算法
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
【10月更文挑战第5天】随着数据科学和机器学习领域的快速发展,处理大规模数据集的能力变得至关重要。Python凭借其强大的生态系统,尤其是NumPy、Pandas和SciPy等库的支持,在这个领域占据了重要地位。本文将深入探讨这些库如何帮助科学家和工程师高效地进行数据分析,并通过实际案例来展示它们的一些高级应用。
44 0
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
|
6月前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
87 2
|
6月前
|
索引 Python
如何使用Python的Pandas库进行数据合并和拼接?
Pandas的`merge()`函数用于数据合并,如示例所示,根据'key'列对两个DataFrame执行内连接。`concat()`函数用于数据拼接,沿轴0(行)拼接两个DataFrame,并忽略原索引。
105 2
|
6月前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名?
Pandas在Python中提供数据排序和排名功能。使用`sort_values()`进行排序,如`df.sort_values(by='A', ascending=False)`进行降序排序;用`rank()`进行排名,如`df['A'].rank(ascending=False)`进行降序排名。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`。
156 6

热门文章

最新文章