首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建一个函数

创建一个函数
EN

Stack Overflow用户
提问于 2017-07-06 06:28:15
回答 1查看 42关注 0票数 0

我有这个函数:

代码语言:javascript
复制
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:

代码语言:javascript
复制
 Must pass DataFrame with boolean values only
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-06 20:06:42

我认为可以帮助这个样本:

代码语言:javascript
复制
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  b
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44936972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档