Python 数据帧中的数据分类
我有一个名为AH的数据框,其中有F1和F2列: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
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)
作为输入,这就是为什么会出现此错误。