python - 如何将从方法获得的一列结果添加到现有数据框中?
问题描述
我得到一个交换令牌的数据框,如下所示:
Exchange=df[df["marketSegment"]=="Exchange"]
Exchange
我想在上面的数据框中添加一列以显示每个代币的价格。
通过以下方法,我可以获得每个代币的价格:
san.get(
"prices/huobi-token",
from_date="2018-06-01",
to_date="2018-06-05",
interval="1d"
)
谁能告诉我如何定义一个函数或方法来快速计算出每个代币的价格并将它们加在一起作为数据框的最后一列?
解决方案
假设您想使用某种平均价格,您可以定义一个函数来查找特定值的价格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)
推荐阅读
- java - java - 迭代列表的最快方法
- visual-studio-2017 - Visual Studio 2017 v15.7.2 关于 Light 主题的 Code Lens 问题
- css - 样式复选框不显示检查 - 与另一个类
- android - 带有布局文件的自定义 ViewGroup
- maven - 无法使用 maven 运行多个 testng xml 文件
- sql - Oracle查询查找最近1个月休假次数最多的员工
- python - 熊猫 x-ticks 情节不起作用
- asp.net-mvc - 修改 bootstrap.min.css 和 bootstrap.min.css.map
- python - Python:实例的返回值
- c# - 如何将字典写入计算机并通过不同的方法读取?