Python 数据帧中的数据分类

Python 数据帧中的数据分类,python,dataframe,if-statement,categories,Python,Dataframe,If Statement,Categories,我有一个名为AH的数据框,其中有F1和F2列: F1 F2 aq ab ac my (等等) 我想制作另一个专栏,并首先对每个专栏进行分类,使其成为: F1 Category1 F2 Category2 aq 77 ab 11 ac 77 my 55 数据已经过预处理,我编写了以下代码: for len in range (AH): if AH ['F1'] =={'aq','a

我有一个名为AH的数据框,其中有F1和F2列:

F1      F2
aq      ab
ac      my
(等等)

我想制作另一个专栏,并首先对每个专栏进行分类,使其成为:

F1  Category1    F2    Category2
aq     77        ab     11
ac     77        my     55
数据已经过预处理,我编写了以下代码:

for len in range (AH):

    if AH ['F1'] =={'aq','ac'}:
        AH.loc[index, 'Category1'] = '77'
    elif AH ['F2'] =={'ab'}:
        AH.loc[index, 'Category1'] = '11'
    elif AH ['F2'] =={'my'}:
        AH.loc[index, 'Category1'] = '55'
   else:
        'NaN'
然而,错误显示:

TypeError: 'DataFrame' object cannot be interpreted as an integer
    

任何可以回答的人?

您可以创建一个函数,可以为列(F1和F2)的每个值调用该函数 详情如下:

def fun(x):
    if x is None:
        return ""
    if x in ['aq','ac']:
        return "77"
    if x in ['ab']:
        return "11"
    if x in ['my']:
        return "55"
#calling fun() for each value of F1 column and F2 column        
AH['Category1']=[fun(x) for x in AH.F1.values]
AH['Category2']=[fun(x) for x in AH.F2.values]
range()
函数将整数作为输入,并且您将
数据帧(AH)
作为输入,这就是为什么会出现此错误。