Pandas 逐行遍历 Pandas 数据帧
在本文中,我们将介绍如何使用 Pandas 逐行遍历 Pandas 数据帧。
Pandas 是 Python 中用于数据分析和数据处理的强大库。 Pandas 具有用于读取、写入和操作数据的功能。 Pandas 提供了一个名为 DataFrame 的主要数据结构。 DataFrame 是二维表结构数据,它包含多个行和列。 数据分析过程通常需要遍历 Pandas 数据帧中的每一行,并在每一行上执行特定的操作。
以下是如何逐行遍历 Pandas 数据帧:
阅读更多:Pandas 教程
方法 1:使用 iterrows() 函数
iterrows() 函数可以在 Pandas 数据帧(DataFrame)中迭代每一行,并返回一个包含每一行数据的 pandas series。 这个函数返回的数据可以用于计算,比较或者可视化。
import pandas as pd
# 创建 Pandas 数据帧
df = pd.DataFrame({
'Column1': [1, 2, 3, 4],
'Column2': ['A', 'B', 'C', 'D'],
'Column3': [0.1, 0.2, 0.3, 0.4]
})
# 使用 iterrows() 函数遍历 Pandas 数据帧中的每一行
for index, row in df.iterrows():
print(row['Column1'], row['Column2'], row['Column3'])
以上代码输出:
1 A 0.1
2 B 0.2
3 C 0.3
4 D 0.4
方法 2:使用 itertuples() 函数
itertuples() 函数可以在 Pandas 数据帧中迭代每一行,并将每一行数据作为命名元组(namedtuple)返回。 此函数比 iterrows() 更快,因为它返回的是一个命名元组而不是一个 Pandas series。
import pandas as pd
# 创建 Pandas 数据帧
df = pd.DataFrame({
'Column1': [1, 2, 3, 4],
'Column2': ['A', 'B', 'C', 'D'],
'Column3': [0.1, 0.2, 0.3, 0.4]
})
# 使用 itertuples() 函数遍历 Pandas 数据帧中的每一行
for row in df.itertuples():
print(row.Column1, row.Column2, row.Column3)
以上代码输出:
1 A 0.1
2 B 0.2
3 C 0.3
4 D 0.4
方法 3:使用 apply() 函数
apply() 函数可以对 Pandas 数据帧中的每一行执行指定的函数。 这个函数可以是内置函数或自定义函数。
import pandas as pd
# 创建 Pandas 数据帧
df = pd.DataFrame({
'Column1': [1, 2, 3, 4],
'Column2': ['A', 'B', 'C', 'D'],
'Column3': [0.1, 0.2, 0.3, 0.4]
})
# 自定义函数:计算列之和
def sum_of_columns(row):
return row['Column1'] + row['Column3']
# 使用 apply() 函数遍历 Pandas 数据帧中的每一行
df['Sum of Columns'] = df.apply(sum_of_columns, axis=1)
# 输出新的 Pandas 数据帧
print(df)
以上代码输出:
Column1 Column2 Column3 Sum of Columns
0 1 A 0.1 1.1
1 2 B 0.2 2.2
2 3 C 0.3 3.3
3 4 D 0.4 4.4
总结
本文介绍了如何逐行遍历 Pandas 数据帧。其中,iterrows() 函数返回 Pandas series,并适用于大多数情况。 itertuples() 函数返回命名元组并且更高效。 apply() 函数则允许对每一行使用指定的函数,可自定义函数实现更复杂的操作。
通过上述方法,可以方便地对 Pandas 数据帧中的每一行进行操作,并进行数据分析和数据处理的工作。
极客教程