Как работает `pandas .Series.str`, когда значениями являются` list`? - PullRequest
0 голосов
/ 29 мая 2020

Как это работает? Если он преобразует каждый элемент в строку, я должен получить первый символ, например "[1,2]"[0] ----> '[', но вместо этого он будет обрабатывать как list, как?

>>> df = pd.DataFrame({'a':[[1,2],[2,3]]})
>>> df.a.str[0]
0    1
1    2
Name: a, dtype: int64

1 Ответ

3 голосов
/ 29 мая 2020

Работает, потому что string s и list s являются повторяемыми. Это означает, что .str[0] возвращает первое значение строки, первое значение списков, первое значение итерации.

What is iterable:

An ITERABLE is:

  • все, что можно зациклить (то есть вы можете l oop над строкой или файлом) или
  • все, что может появиться справа от for-l oop: for x in iterable: ... или
  • все, что вы можете вызвать с помощью iter(), которое вернет ИТЕРАТОР: iter(obj) или
  • объект, который определяет __iter__, который возвращает fre sh ITERATOR, или у него может быть метод __getitem__, подходящий для индексированного поиска.
...