首页 > 解决方案 > 如何将从方法获得的一列结果添加到现有数据框中?

问题描述

我得到一个交换令牌的数据框,如下所示:

Exchange=df[df["marketSegment"]=="Exchange"]
Exchange

交换结果

我想在上面的数据框中添加一列以显示每个代币的价格。

通过以下方法,我可以获得每个代币的价格:

san.get(
    "prices/huobi-token",
    from_date="2018-06-01",
    to_date="2018-06-05",
    interval="1d"
)

san结果

谁能告诉我如何定义一个函数或方法来快速计算出每个代币的价格并将它们加在一起作为数据框的最后一列?

标签: pythonpandasdataframe

解决方案


假设您想使用某种平均价格,您可以定义一个函数来查找特定值的价格slug

def averageprice(slug):
    pricedf = san.get(
        "prices/{}".format(slug),
        from_date="2018-06-01",
        to_date=datetime.now(),
        interval="1d"
    )

    return pricedf['priceUsd'].mean()

然后,您可以通过将该函数应用于原始数据框来创建一个新列:

Exchange['price'] = Exchange['slug'].apply(averageprice)

推荐阅读