我正在尝试遍历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”的值。如何在循环中访问这些属性? 建议我