当前位置: 首页 > 面试题库 >

Python Pandas遍历行并访问列名

廖绍辉
2023-03-14
问题内容

我正在尝试遍历Python Pandas数据框的行。在数据帧的每一行中,我试图通过其列名引用行中的每个值。

这是我所拥有的:

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.rand(10,4),columns=list('ABCD'))
print df
          A         B         C         D
0  0.351741  0.186022  0.238705  0.081457
1  0.950817  0.665594  0.671151  0.730102
2  0.727996  0.442725  0.658816  0.003515
3  0.155604  0.567044  0.943466  0.666576
4  0.056922  0.751562  0.135624  0.597252
5  0.577770  0.995546  0.984923  0.123392
6  0.121061  0.490894  0.134702  0.358296
7  0.895856  0.617628  0.722529  0.794110
8  0.611006  0.328815  0.395859  0.507364
9  0.616169  0.527488  0.186614  0.278792

我使用了这种方法来进行迭代,但这只是解决方案的一部分-
在每次迭代中选择一行后,如何通过列名称访问行元素?

这是我想做的事情:

for row in df.iterrows():
    print row.loc[0,'A']
    print row.A
    print row.index()

我的理解是该行是熊猫系列。但是我无法索引该系列。

在遍历行的同时可以使用列名吗?


问题答案:

我也喜欢 itertuples()

for row in df.itertuples():
    print(row.A)
    print(row.Index)

由于行是一个名为元组,如果你打算访问值在每行,这应该是 MUCH

速度运行:

df = pd.DataFrame([x for x in range(1000*1000)], columns=['A'])
st=time.time()
for index, row in df.iterrows():
    row.A
print(time.time()-st)
45.05799984931946

st=time.time()
for row in df.itertuples():
    row.A
print(time.time() - st)
0.48400020599365234


 类似资料:
  • 问题内容: 在Python中有两个可迭代的对象,我想成对地讨论它们: 导致: 一种方法是遍历索引: 问题答案: Python 3 当或的较短者停止时,停止。 在Python 3 中,像在Python2中一样,返回元组的迭代器。要获取元组列表,请使用。要压缩直到两个迭代器都用尽,可以使用 。 Python 2 在Python 2中, 返回一个元组列表。当且不是很大时,这很好。如果它们都是大量的,则形

  • 问题内容: 我想从MySQL表中获取所有列名,遍历每个列名,然后使用这些列名作为变量运行存储过程。效果: 看起来会给我列名,但是如何将列名放入循环? 我真的很想使用本机SQL在存储过程中运行所有这些程序。由于我仍在学习MySQL的复杂性,因此对我的项目确实有帮助。谢谢你的帮助。 问题答案: 我想你想要这样的东西:

  • 我是在一次采访中被问到这个问题的。 问题:给出了一个二叉树和相应子树的高度。然后我们必须按顺序找到一个特定位置的元素。 例如:树结构为:D(根节点)[subtree-size=6]-->B,F(D的子节点)[subtree-size=2]-->A,C,E,G(叶节点)[subtree-size=0]。 因此共有3个级别:级别0:D;1级:B级、F级;2级:A、C、E、G 我们必须在inorder中

  • 这个 sqlalchemy.sql.visitors 模块由类和函数组成,它们通常用于 穿越 核心SQL表达式结构。不像 Python ast 其中的模块提供了一个系统,通过该系统,程序可以对SQL表达式的每个组件进行操作。它的共同目的是定位各种元素,例如 Table 或 BindParameter 对象,以及改变结构的状态,例如用其他子句替换某些FROM子句。 注解 这个 sqlalchemy.

  • 输入是一个列表列表。请看下面。文件名是一个列表,包含的名称与列表中的列表数量相同(,,) 每个名称都附加到路径中:-- 程序在遍历列表时遍历包含路径的列表,并打印路径及其文件名。我希望输出是--。然而,我得到了下面的输出。请查看输入后的输出 输入 输出 我希望输出是-- 然而,我得到的结果如下: 我无法理解为什么在遍历列表时不能使用文件名遍历路径列表。我希望这有助于澄清问题。有人能帮忙吗? 我已经

  • 问题内容: 我想遍历数组中包含的对象并更改每个对象的属性。如果我这样做: 控制台应该调出数组中的每个对象,对吗?但实际上,它仅显示第一个对象。如果我在循环外控制台记录阵列,则所有对象都会出现,因此肯定还有更多对象。 无论如何,这是下一个问题。如何使用循环访问数组中的Object1.x? 这将返回“未定义”。循环外的控制台日志再次告诉我,所有对象都具有“ x”的值。如何在循环中访问这些属性? 建议我