0
点赞
收藏
分享

微信扫一扫

pandas如何遍历一个datafarame的第指定列

在 Pandas 中,该如何遍历 DataFrame 的第一列,下面为你详细介绍几种常见的方法。

示例数据

首先,我们创建一个示例 DataFrame 用于后续的演示:

import pandas as pd

data = {
    'col1': [10, 20, 30, 40, 50],
    'col2': ['a', 'b', 'c', 'd', 'e']
}
df = pd.DataFrame(data)

方法一:使用 for 循环遍历 Series

可以直接通过列名获取 DataFrame 的第一列(它是一个 Series 对象),然后使用 for 循环遍历这个 Series

for value in df['col1']:
    print(value)

pandas如何遍历一个datafarame的第指定列_数据集

方法二:使用 iterrows() 方法

iterrows() 方法会将 DataFrame 按行迭代,返回一个包含行索引和行数据的元组,我们可以从中提取第一列的值。

import pandas as pd

data = {
    'col1': [10, 20, 30, 40, 50],
    'col2': ['a', 'b', 'c', 'd', 'e']
}
df = pd.DataFrame(data)
print('原dataframe:',df)

for index,row in df.iterrows():
    print(row['col1'])

pandas如何遍历一个datafarame的第指定列_数据_02

方法三:使用 itertuples() 方法

itertuples() 方法也是按行迭代 DataFrame,但它返回的是 namedtuple 对象,访问列数据时可以通过列名或者索引。

import pandas as pd

data = {
    'col1': [10, 20, 30, 40, 50],
    'col2': ['a', 'b', 'c', 'd', 'e']
}
df = pd.DataFrame(data)
print('原dataframe:',df)

for row in df.itertuples():
    print(row.col1)
    # 也可以通过索引访问,索引从 1 开始,因为第 0 个位置是行索引
    print(row[1])

pandas如何遍历一个datafarame的第指定列_数据_03

方法四:使用 apply() 方法

apply() 方法可以对 DataFrame 的某一列或所有列应用一个函数,这里我们可以定义一个简单的函数来处理第一列的值。

import pandas as pd

def print_value(value):
    print(value)

data = {
    'col1': [10, 20, 30, 40, 50],
    'col2': ['a', 'b', 'c', 'd', 'e']
}
df = pd.DataFrame(data)
print('原dataframe:',df)
df['col1'].apply(print_value)
df['col2'].apply(print_value)

pandas如何遍历一个datafarame的第指定列_迭代_04

方法比较

  • 使用 for 循环遍历 Series:代码简洁,适用于简单的遍历操作,性能相对较好。
  • 使用 iterrows() 方法:可以同时获取行索引和行数据,但性能相对较差,因为它会返回一个新的 Series 对象,且在大数据集上迭代速度较慢。
  • 使用 itertuples() 方法:性能比 iterrows() 好,因为它返回的是 namedtuple 对象,内存占用少,迭代速度快。
  • 使用 apply() 方法:可以对列数据进行更复杂的操作,通过定义不同的函数来实现不同的功能,但在简单遍历场景下略显繁琐,但是如果在要在遍历的过程中,实现更加复杂的功能,可以使用apply()。
举报

相关推荐

0 条评论