当前位置: 首页 > 知识库问答 >
问题:

将Pandas数据帧的行作为字典进行迭代

潘衡
2023-03-14

我需要对pandas数据帧进行迭代,以便将每一行作为带有**kwargs函数(实际上是类构造函数)的参数传递。这意味着每一行都应该像字典一样,具有键、列名和值(每行对应的值)。

import pandas as pd


def myfunc(**kwargs):
    try:
        area = kwargs.get('length', 0)* kwargs.get('width', 0)
        return area
    except TypeError:
        return 'Error : length and width should be int or float'


df = pd.DataFrame({'length':[1,2,3], 'width':[10, 20, 30]})

for i in range(len(df)):
    print myfunc(**df.iloc[i])

共有1个答案

唐元凯
2023-03-14

您可以尝试:

for k, row in df.iterrows():
    myfunc(**row)

在这里,k是数据帧索引row是一个dict,因此您可以使用row[“my_column_name”]访问任何列

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

  • 我有一个熊猫数据框,看起来像这样(它是一个相当大的) 现在我想逐行迭代,当我遍历每一行时,每一行中的的值可能会根据某些条件而改变,我需要查找另一个数据帧。 现在,我如何在迭代时更新它。尝试了一些没用的东西。 这些方法似乎都不管用。我看不到数据框中更新的值。

  • 问题内容: 我有一个像下面这样的熊猫数据框。 我根据基于UsrId的数据框进行分组。分组的数据框在概念上将如下所示。 现在,我正在寻找一个内置API,该API将为我提供具有最大作业数的UsrId。对于上面的示例,UsrId-2具有最大计数。 更新: 我想要最大作业数的’n’UserIds,而不是最大作业数的UsrID。对于上面的示例,如果n = 2,则输出为[2,1]。能做到吗? 问题答案: 喜欢

  • 在编程方面,我是一个新手,特别是熊猫。我也很抱歉,我问了一个已经在SF上提到的问题:我并不真正理解这个问题的现有答案。可能重复,但这个答案对新手来说很容易理解,如果不太全面的话。

  • 我有一个数据帧,我想按两个参数分组(1)相同的第一列中的连续编号和(2)第二列中的匹配值 数据帧: 组1包括前2行,因为30和31是连续的,第二列匹配。创建组2是因为Col1中的31和35不是连续的。创建组3是因为H和E不匹配。 在pandas groupby中对列表中的行进行分组 我很感谢你给我的建议

  • 我有一个包含几个pandas数据帧(由键标识)的dict,任何有效序列化(和干净加载)它的建议。下面是结构(一个pprint显示输出)。每个DICT['method_x_']['meas_x_']都是一个pandas数据帧。我们的目标是保存数据流,以便使用一些特定的绘图选项进行进一步的绘图。 {“Method1”: {“Meas1”: “方法2”: {“Meas1”: “Meas2”: