我有这个函数:
def gnumeric_func (data, columns):
data[columns] = data[columns].apply(lambda x: pd.factorize(x)[0])
return data
column_list = data.iloc[:, 7:14]
gnumeric_func (data, column_list)如何在不导致任何错误的情况下实现iloc:
Must pass DataFrame with boolean values only发布于 2017-07-06 20:06:42
我认为可以帮助这个样本:
df = pd.DataFrame({'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
'D':list('aaabbb'),
'E':list('autrob'),
'F':list('etreeb')})
print (df)
A B C D E F
0 a 4 7 a a e
1 b 5 8 a u t
2 c 4 9 a t r
3 d 5 4 b r e
4 e 5 2 b o e
5 f 4 3 b b b
def gnumeric_func (data, columns):
data[columns] = data[columns].apply(lambda x: pd.factorize(x)[0])
return data
#select columns names by positions
column_list = df.columns[3:5]
print (column_list)
Index(['D', 'E'], dtype='object')
df2 = gnumeric_func(df, column_list)
print (df2)
A B C D E F
0 a 4 7 0 0 e
1 b 5 8 0 1 t
2 c 4 9 0 2 r
3 d 5 4 1 3 e
4 e 5 2 1 4 e
5 f 4 3 1 5 bhttps://stackoverflow.com/questions/44936972
复制相似问题