如何使用熊猫的“应用”方法将功能应用于数据帧的特定子集?

时间:2019-05-01 18:02:00

标签: python pandas

目标是在熊猫数据框的特定子集上应用条件函数。我不断收到错误消息,显示“(“系列的真值不明确。请使用a.empty,a.bool(),a.item(),a.any()或a.all()。”,“发生在索引C')“

数据框:

import numpy as np
import pandas as pd


df1 = pd.DataFrame(np.arange(0,30).reshape(6,5),'row1 row2 row3 row4 row5 row6'.split(),'A B C D E'.split())  
df1


        A   B   C   D   E
row1    0   1   2   3   4
row2    5   6   7   8   9
row3    10  11  12  13  14
row4    15  16  17  18  19
row5    20  21  22  23  24
row6    25  26  27  28  29

这是我尝试过的功能

def func (x):
    if x <10:
        return "fit"
    else:
        return x + 10

df1.iloc[[1,2],[2,3]] = df1.iloc[[1,2],[2,3]].apply(func)

但是后来我不断出错

1 个答案:

答案 0 :(得分:0)

尝试在数据框的子集上应用applymap:

df_sub=df1.iloc[[1,2],[2,3]]
df_sub=df_sub.applymap(func)