TypeError: объект 'str' не поддерживает назначение элементов. Pandas add column - PullRequest
0 голосов
/ 18 октября 2019

Я новичок с пандами ... Я пытаюсь добавить новый столбец в df (df ['new_col']) .. но когда я делаю, есть эта ошибка:

import requests
import pandas as pd
import json

res = requests.get("http://api.etherscan.io/api?module=account&action=txlist&address=0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a&startblock=0&endblock=99999999&sort=asc&apikey=YourApiKeyToken")
j = res.json()
df = pd.DataFrame(j['result'])
#add column
df = df['new_col'] = '12'
print(df.head())

Traceback (most recent call last):
  File "pandas_csv.py", line 8, in <module>
    df = df['new_col'] = '12'
TypeError: 'str' object does not support item assignment

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 18 октября 2019

Просто, чтобы объяснить, почему это происходит, вот более простая MCVE проблемы:

d = {1: "a"}
d = d[1] = "3"

TypeError: 'str' object does not support item assignment

Это происходит потому, что, как описано здесь , df = df['new_col'] = '12' эквивалентно:

df = "3"
df['new_col'] = '12'

Теперь должно быть понятно, почему происходит ошибка. df перезаписывается строкой до назначения 'new_col'.

2 голосов
/ 18 октября 2019

Просто замените

df = df['new_col'] = '12'

на

df['new_col'] = '12'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...