【问题标题】:TypeError: string indices must be integers python 3TypeError:字符串索引必须是整数python 3
【发布时间】:2020-08-04 11:32:33
【问题描述】:

在 python 3 中运行时 -

  sex_mapping = {'male':0,'female':1}
    for dataset in traindata:
        dataset['Sex'] = dataset['Sex'].map(sex_mapping)

我收到了这个错误--

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-75-9cf322b80763> in <module>
      1 sex_mapping = {'male':0,'female':1}
      2 for dataset in traindata:
----> 3     dataset['Sex'] = dataset['Sex'].map(sex_mapping)

TypeError: string indices must be integers

【问题讨论】:

  • 你想做什么。 traindata的值是多少
  • 基本上这是泰坦尼克号数据集,我正在关注这个解决方案 - youtube.com/watch?v=COUWKVf6zKY 在 4.33 观看这个。他做了同样的事情并在 python 2 中完成了它。
  • 我想在 pandas 作为 traindata 读取的特定文件中将男性或女性替换为 1 或 0。
  • 请提供具体问题和minimal-reproducible-example

标签: python python-3.x string dataset


【解决方案1】:

什么是数据集的类型。我认为您正在尝试对列表进行字典操作。

对于特定的列,您可以使用:

traindata['Sex'].map(sex_mapping)

【讨论】:

  • 基本上这是泰坦尼克号数据集,我正在关注这个解决方案 - youtube.com/watch?v=COUWKVf6zKY 在 4.33 观看这个。他做了同样的事情并在 python 2 中完成了它。
  • 我的意思是 sex_mapping = {'male':0,'female':1} traindata['Sex'].map(sex_mapping)
  • 我运行 traindata['Sex'].map(sex_mapping) 而不是 dataset['Sex'] = dataset['Sex'].map(sex_mapping) 但 traindata 根本没有改变。看到我想在这里用 1 或 o 替换男性和女性。
猜你喜欢
  • 2016-03-26
  • 2016-02-17
  • 2023-03-03
  • 1970-01-01
  • 2022-11-02
  • 2019-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多