如何在应用于数据框的函数中使用行索引和单元格值?

时间:2019-11-21 22:42:09

标签: python pandas function dataframe

我有一个与此类似的表格,其中空格为空字符串,数字为浮点数:

   1   2   3   4   5   6
A  
B                  8   5
C      5       7
D  2   3   5
E  0

我想用一个带有两个参数的函数的输出替换每个单元格的值:行的索引和单元格的值。

例如,第一列中的值应替换为func(D,2)和func(E,0)的输出,并且空单元格应保持为空。函数输出是一个字符串。

预期的输出表:

如果func(D,2)返回X,而func(E,0)返回Y,则第1列应如下所示:

   1   2   3   4   5   6
A  
B                  8   5
C      5       7
D  X   3   5
E  Y

我该怎么做?

1 个答案:

答案 0 :(得分:0)

首先,我将填充数据框:

df.fillna(0, inplace=True) 

然后假设您的函数名为func,并且它的第一个参数是行索引,您可以在迭代行时使用map方法来应用它:

for idx in df.index:
   df.loc[idx] = df.loc[idx].map(lambda x: func(idx, x))