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

python pandas-将具有两个参数的函数应用于列

赫连飞沉
2023-03-14
问题内容

您可以使用两个不同的列中的值作为参数来制作python pandas函数吗?

我有一个函数,如果两列的值在相同范围内,则返回1。否则返回0:

def segmentMatch(RealTime, ResponseTime):
    if RealTime <= 566 and ResponseTime <= 566:
        matchVar = 1
    elif 566 < RealTime <= 1132 and 566 < ResponseTime <= 1132:
        matchVar = 1
    elif 1132 < RealTime <= 1698 and 1132 < ResponseTime <= 1698:
        matchVar = 1
    else:
        matchVar = 0
    return matchVar

我希望第一个参数RealTime成为数据框中的一列,以使函数将采用该列中每一行的值。例如RealTimedf['TimeCol'],第二个参数是df
[‘ResponseCol’]`。我希望结果是数据框中的新列。我遇到了几个
回答了类似问题的线程,但看起来这些参数是变量,而不是数据帧行中的值。

我尝试了以下操作,但没有成功:

df['NewCol'] = df.apply(segmentMatch, args=(df['TimeCol'], df['ResponseCol']), axis=1)

问题答案:

为什么不这样做呢?

df['NewCol'] = df.apply(lambda x: segmentMatch(x['TimeCol'], x['ResponseCol']), axis=1)

现在,我们没有像示例中那样尝试将列作为参数传递,而是简单地将每一行中的相应条目作为参数传递,并将结果存储在中'NewCol'



 类似资料:
  • 问题内容: 我想将带有参数的函数应用于python pandas中的系列: 问题答案: 位置参数添加到系列元素之后。 对于旧版本的pandas: 文档对此进行了清楚的说明。apply方法接受应具有单个参数的python函数。如果要传递更多参数,则应按照在其评论中的建议使用。 一个例子: 你也可以使用传递关键字参数。 另一种方法是创建一个lambda: 但我认为使用partial会更好。

  • 我有一个pandas数据框,其中包含列和。我想从他们那里得到和。中有一个函数,名为,用于执行此操作。它接收和,并给出。我是这样做的: 我想定义一个函数并应用一次以节省时间。我看了看这里,这里和这里,但是我找不到一种方法来使用一个函数制作两列。谢谢。

  • 问题是: 创建一个名为Duo的泛型类,它有两个参数a和B。声明一个名为a类型的第一个变量,以及一个名为B类型的第二个变量。创建一个接受这两个参数的构造函数。在构造函数中,将这些参数分别分配给声明的变量。 这是我能想到的解决方案: 然后,当我继续问下一个问题时,我被绊住了。问题是: 使用问题4中的Duo类声明并创建两个对象,如下所示: a) 第一个名为sideShape的对象分别由字符串类型和整数类

  • 怎么办? **添加详细示例如下***

  • 问题内容: 假设我有一个df包含的列。我定义一个函数: 现在,我要应用f到df的两列,以逐元素的计算新列,有点像: 怎么做 ? 如下添加详细样本 * 问题答案: 这是apply在数据框上使用的示例,我正在用进行调用。 请注意,区别在于,与其尝试将两个值传递给该函数f,不如重写该函数以接受pandas Series对象,然后对Series进行索引以获取所需的值。 根据你的用例,有时创建一个对象然后在

  • null 我可以推断,在Java中,这种类型的方法可以应用于带有一个参数的函数接口。 还有,有没有一个参数函数接口的例子,函数有一个参数,不像上面的例子?