Python Apply函数只能在数据框中的一行上工作

时间:2019-02-28 19:45:43

标签: python function iterator series

我有一个数据表,如下所示-(数据):

Index    A   B   C
  1      A   B   C
  2      A   B   C
  3      A   B   C

我想用另一个表中的一些值替换这些值,该表是一个相关矩阵-(data_corr)

BLANK    A    B    C
  A      1   0.9  0.8
  B     0.9   1   0.4
  C     0.8  0.4   1

以下是我的功能: (计算没有意义,只是测试)

def test(cell):

    r = data_corr.loc[cell].sort_values(ascending=False)[1:dt_length]
    t = sum(r)

    return cell.replace(cell,t)
output = data.apply(test)

并输出错误:

TypeError: ("sort_values() missing 1 required positional argument: 'by'", 'occurred at index 1064A46E-8688-4667-BA4A-F82394C136B6')

但是,事实是,如果我仅使用数据中的一行,那将是

Index   A   B   C
  1     A   B   C

该功能将起作用,并给我结果。

有人可以帮我解决这个问题吗?

0 个答案:

没有答案