Как изменить значение в кадре данных / серии в Python - PullRequest
0 голосов
/ 03 октября 2018

Я пытался найти тикеры для компаний Nasdaq 100 и получил их из Википедии

nasdaq100 = pd.read_html('https://de.wikipedia.org/wiki/NASDAQ-100')[4][0][1:]
print(nasdaq100)

Что дает мне:

1             ATVI
2             ADBE
3             ALXN
4             ALGN
5      GOOG, GOOGL
...            ...
100           XLNX

Однако я хотел бы получить толькоGOOG.Как заменить «GOOG, GOOGL» на просто «GOOG»?Это происходит несколько раз по всему списку, и я хотел бы получить текст только перед запятой.

for ticker in nasdaq100:
    if ',' not in ticker:
        continue
    else:
        nasdaq100[ticker] = nasdaq100[ticker].split(',')[0]

В последней строке я хочу обновить серию в этой конкретной позиции только той частью, которая идет перед запятой (",").Но здесь я получаю сообщение об ошибке:

KeyError: 'GOOG, GOOGL'

Есть ли какая-нибудь помощь?

1 Ответ

0 голосов
/ 03 октября 2018

Если вы хотите использовать одну и ту же функцию для всей серии, вы можете сделать это с помощью .apply:

nasdaq100.apply(lambda x: x.split(",")[0])

1       ATVI
2       ADBE
3       ALXN
4       ALGN
5       GOOG
6       AMZN
...