对数据框中的数据进行分类

Categorizing data in dataframe

我有一个名为 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]