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

如何在Pandas中的DataFrame中的行上进行迭代

姜磊
2023-03-14
问题内容

我有一个DataFrame来自pandas的:

import pandas as pd
inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]
df = pd.DataFrame(inp)
print df

输出:

   c1   c2
0  10  100
1  11  110
2  12  120

现在,我要遍历该框架的行。对于每一行,我希望能够通过列名访问其元素(单元格中的值)。例如:

for row in df.rows:
   print row['c1'], row['c2']

pandas有可能这样做吗?

我发现了类似的问题。但这并不能给我我所需的答案。例如,建议在那里使用:

for date, row in df.T.iteritems():

要么

for row in df.iterrows():

但是我不了解row对象是什么以及如何使用它。


问题答案:

DataFrame.iterrows 是一个生成器,它同时生成索引和行(作为系列):

import pandas as pd

df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]})

for index, row in df.iterrows():
    print(row['c1'], row['c2'])
10 100
11 110
12 120


 类似资料:
  • 问题内容: 我有一个DataFrame熊猫来的: 输出: 现在,我要遍历该框架的行。对于每一行,我希望能够通过列名访问其元素(单元格中的值)。例如: pandas有可能这样做吗? 我发现了类似的问题。但这并不能给我我所需的答案。例如,建议在那里使用: 要么 但是我不了解对象是什么以及如何使用它。 问题答案: DataFrame.iterrows是产生索引和行的生成器

  • 我有这样的数据: 我想创建一个新的列,将成本转换为美元。只是提一下,有12种货币。 这是我所写的: 使用这段代码,我得到了一个错误。

  • 我有一个来自熊猫的: 输出: 现在我要迭代这个帧的行。对于每一行,我希望能够通过列的名称访问其元素(单元格中的值)。例如: 有可能在熊猫身上做到这一点吗? 我发现了这个类似的问题。但它并没有给我我需要的答案。例如,在那里建议使用: 或 但我不理解对象是什么,以及如何使用它。

  • 问题内容: 我有以下Pandas DataFrame,我想创建另一列来比较col1的前一行,以查看它们是否相等。最好的方法是什么?就像下面的DataFrame。谢谢 问题答案: 您需要使用: 或改为使用,但是在大型DataFrame中,它会稍微慢一些: 时间 :

  • 我试过熊猫串连或类似,但似乎没有效果。你知道吗?谢了。

  • 如您所见,月份不按日历顺序排列。所以我创建了第二列来获取每个月(1-12)对应的月份号。从那里,我如何根据日历月份的顺序对此数据帧进行排序?