如何解决有什么方法可以在 python 上同时调用和可视化列 Adj Close 之外的更多内容?
我已经完成了这部分代码,但我希望能够添加更多列,例如成交量、开盘价、最高价。
import pandas as pd
import numpy as np
from datetime import datetime
import matplotlib.pyplot as plt
plt.style.use("fivethirtyeight")
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
assets = ["LAC","NIO"]
weights = np.array([0.5,0.5])
stockStartDate = "2016-01-01"
today = datetime.today().strftime("%Y-%m-%d")
today
df = pd.DataFrame()
for stock in assets:
df[stock] = web.DataReader(stock,data_source ="yahoo",start = stockStartDate,end = today)["Adj Close"]
解决方法
不太确定你想做什么,但本质上如果你想灵活地可视化更多的变量,将数据保存为长格式会更容易,一列(我在下面使用了stock
)表示数据来源:
import pandas as pd
import numpy as np
import pandas_datareader.data as web
import datetime
assets = ["LAC","NIO"]
stockStartDate = "2016-01-01"
today = datetime.date.today().strftime("%Y-%m-%d")
df = []
for stock in assets:
x = web.DataReader(stock,data_source ="yahoo",start = stockStartDate,end = today)
x['stock'] = stock
df.append(x)
df = pd.concat(df)
然后动态旋转它以进行绘图:
df.pivot(values='High',columns='stock').plot.line()
或者使用seaborn:
import seaborn as sns
sns.lineplot(x = df.index,y = "High",hue = 'stock',data=df)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。