'str' object has no attribute 'decode' 代码运行时有错误呢?请高手帮忙解决

  板凳区 Sofa竞赛3    浏览次数:1311        分享
0


代码运行时有错误呢?请高手帮忙解决

 

scdmxy   2018-12-08 16:38



   3个回答 
0

和你的python版本有关吧,Sofa竞赛3 的官方代码还是python2的,如果你在用python3的话,不需要decode了,因为python3的str没有decode的这个属性了

SofaSofa数据科学社区DS面试题库 DS面经

MangoCoke   2018-12-09 15:23

您好!在程序上具体怎么修改呢?谢谢!见谅,来自python小白的发问 - scdmxy   2018-12-09 19:22
共三处涉及: 第一处: # 统计每个字在男生、女生名字中出现的总次数 lists_male = map(lambda x: x.encode('utf-8'), names_male.decode('utf-8')) counts_male = Counter(lists_male) lists_female = map(lambda x: x.encode('utf-8'), names_female.decode('utf-8')) counts_female = Counter(lists_female) 第二处: # 得到训练集中每个人的每个字的词频(Term Frequency,通常简称TF) train_encoded = [] for i in range(len(train)): name = train.at[i, 'name'] chs = map(lambda x: x.encode('utf-8'), name.decode('utf-8')) row = [0., 0., 0., 0, train.at[i, 'gender']] for j in range(len(chs)): row[2* j] = counts_female[chs[j]] * 1. / f_cnt row[2* j + 1] = counts_male[chs[j]] * 1. / m_cnt train_encoded.append(row) 第三处: # 得到测试集中每个人的每个字的词频(Term Frequency,通常简称TF) test_encoded = [] for i in range(len(test)): name = test.at[i, 'name'] chs = map(lambda x: x.encode('utf-8'), name.decode('utf-8')) row = [0., 0., 0., 0.,] for j in range(len(chs)): try: row[2 * j] = counts_female[chs[j]] * 1. / f_cnt except: pass try: row[2 * j + 1] = counts_male[chs[j]] * 1. / m_cnt except: pass test_encoded.append(row) - scdmxy   2018-12-09 19:28
0

共三处涉及您说的这个问题:

第一处:

第二处:

第三处:

谢谢!


SofaSofa数据科学社区DS面试题库 DS面经

scdmxy   2018-12-09 19:29

试试直接去掉.decode('utf-8') - GuoLinhui   2018-12-11 16:20
你好!只有第一处删除后可以运行,后两处都不行,怎么回事呢?感谢! - scdmxy   2018-12-11 23:52
0

为什么要decode呢?

SofaSofa数据科学社区DS面试题库 DS面经

Zengwen   2018-12-12 11:58



  相关主题

关于用贝叶斯方法判断性别的教程中Laplace平滑问题   1回答

利用朴素贝叶斯对名字进行性别预测   3回答

大家跑模型都用的什么牌子的笔记本   7回答

求教一下:怎么进阶   1回答

关于那个autoencode有没有出来解惑一下的。   3回答

有没有赚外快的方法啊   2回答

【分享】Data Scientist转行成为Machine Learning Engineer   0回答

面试题库做几遍比较合适?   2回答

怎么和领导说自己的模型很好?   3回答

【投票】关于是否削减竞赛奖金的投票   2回答

竞赛区惊现一个神级大牛nobodyoo1   3回答

欢迎大家来到板凳区!   0回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!