为了账号安全,请及时绑定邮箱和手机立即绑定

在 Python 中遍历数据框的最佳方法是什么?

在 Python 中遍历数据框的最佳方法是什么?

UYOU 2022-11-01 17:10:50
我试图建立一个基于另一个数据框。为了构建第二个,我需要遍历第一个数据帧并对数据进行一些更改并将其插入到第二个中。我正在为我的 for 循环使用 namedTuple。这个循环需要大量时间来处理 2m 行数据。有没有最快的方法来做到这一点?
查看完整描述

2 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

由于通常 pandas 数据框是建立在列上的,因此它似乎无法提供一种遍历行的方法。但是,这是我用于处理 pandas 数据框中每一行的方式:


rows = zip(*(table.loc[:, each] for each in table))

for rowNum, record in enumerate(rows):

    # If you want to process record, modify the code to process here:

    # Otherwise can just print each row

    print("Row", rowNum, "records: ", record)

顺便说一句,我仍然建议您寻找一些可以帮助您处理第一个数据帧的 pandas 方法 - 通常会比您自己编写更快、更有效。希望这能有所帮助。


查看完整回答
反对 回复 2022-11-01
?
米脂

TA贡献1836条经验 获得超3个赞

我建议使用pandas内置的iterrows函数。

data = {'Name': ['John', 'Paul', 'George'], 'Age': [20, 21, 19]}

  db = pd.DataFrame(data)

  print(f"Dataframe:\n{db}\n")

    for row, col in db.iterrows():

      print(f"Row Index:{row}")

      print(f"Column:\n{col}\n")

上面的输出:


Dataframe:

     Name  Age

0    John   20

1    Paul   21

2  George   19


Row Index:0

Column:

Name    John

Age       20

Name: 0, dtype: object


Row Index:1

Column:

Name    Paul

Age       21

Name: 1, dtype: object


Row Index:2

Column:

Name    George

Age         19

Name: 2, dtype: object


查看完整回答
反对 回复 2022-11-01
  • 2 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号