【问题标题】:How to change a value in a dataframe/series in python如何在python中更改数据框/系列中的值
【发布时间】:2019-03-08 02:08:19
【问题描述】:

我试图查找纳斯达克 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”替换“GOOG,GOOGL”?这在整个列表中多次发生,我想只在逗号之前获取文本。

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

在最后一行中,我想仅使用逗号 (",") 之前的部分来更新此特定位置的系列。但这是我收到错误的地方:

KeyError: 'GOOG, GOOGL'

有什么帮助吗?

【问题讨论】:

    标签: python pandas dataframe replace series


    【解决方案1】:

    如果您希望在整个系列中使用相同的功能,您可以使用.apply

    nasdaq100.apply(lambda x: x.split(",")[0])
    
    1       ATVI
    2       ADBE
    3       ALXN
    4       ALGN
    5       GOOG
    6       AMZN
    

    【讨论】:

    • 好吧,我用了:nasdaq100 = nasdaq100.apply(lambda x: x.split(",")[0]) --> 完成了这项工作
    猜你喜欢
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 2020-10-18
    相关资源
    最近更新 更多