Я довольно новичок в кодировании, и сейчас я пытаюсь работать с набором данных TMDB_5000 из kaggle.
Я столкнулся с проблемой, когда пытался разобраться с данными в формате json следующим образом.
[{"cast_id": 242, "character": "Jake Sully", "credit_id": "5602a8a7c3a3685532001c9a", "gender": 2, "id": 65731, "name": "Sam Worthington", "order": 0}, {"cast_id": 3, "character": "Neytiri", "credit_i...}]
Я пытаюсь использовать json.loads()
для работы с данными, код credits['cast'] = json.loads(credits['cast'])
. Но это дает мне такую ошибку
---------------------------------------------------------------------------
TypeError Traceback (самый последний вызов
прошлой)
в ()
----> 1 кредит [[cast]] = json.loads (кредит [[cast]])
/anaconda3/lib/python3.6/json/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant,
object_pairs_hook, ** квт)
346 если не isinstance (s, (bytes, bytearray)):
347 повысить TypeError («объект JSON должен быть str, байтами или байтовым массивом»
-> 348 'not {! R}'. Формат (s. class . name ))
349 s = s.decode (detect_encoding (s), 'surrogatepass')
350
TypeError: the JSON object must be str, bytes or bytearray, not 'Series'
Однако код credits['cast'] = credits['cast'].apply(json.loads)
работает. Поэтому я очень смущен, потому что я думаю, что нет никакой разницы между этими двумя строками кода.
Кто-нибудь может мне это объяснить?