在之前的一篇文章中,我演示了如何在Python脚本中直接通过Quandl查询汽车数据。
在这篇文章中,我将记录如何在Python中查询Quandl的铂金和钯金交易价格。该数据已被伦敦钯金和铂金市场(http://www.lppm.com)验证。
在下面的代码中,我从Quandl检索了一个铂金价格的数据集。
import quandl # 设置API密钥 quandl.ApiConfig.api_key = "your key here" import numpy import pandas # 以numpy格式从quandl中检索数据,然后转换为pandas DataFrame。 data = pandas.DataFrame(quandl.get('LPPM/PLAT', returns="numpy"))
获得的数据集包括世界各地金属交易市场的每日开盘价和收盘价。我们可以看一下获得的数据框架的标题。
data.head()
Date | USD AM | EUR AM | GBP AM | USD PM | EUR PM | GBP PM | |
---|---|---|---|---|---|---|---|
0 | 1990-04-02 | 471.00 | NaN | 289.65 | 470.50 | NaN | NaN |
1 | 1990-04-03 | 475.80 | NaN | 291.35 | 477.25 | NaN | NaN |
2 | 1990-04-04 | 475.70 | NaN | 289.95 | 476.75 | NaN | NaN |
3 | 1990-04-05 | 481.75 | NaN | 292.60 | 481.85 | NaN | NaN |
4 | 1990-04-06 | 481.00 | NaN | 293.10 | 480.25 | NaN | NaN |
可以看到,每天的开盘价和收盘价都以美元、欧元和英镑为单位。但是,有些列是空的。让我们通过检查检索到的数据框架的尾部,看看这是否只是早期进入的情况。
data.tail()
Date | USD AM | EUR AM | GBP AM | USD PM | EUR PM | GBP PM | |
---|---|---|---|---|---|---|---|
7574 | 2020-03-30 | 721.0 | 650.43 | 581.45 | 726.0 | 658.80 | 585.25 |
7575 | 2020-03-31 | 723.0 | 657.87 | 586.61 | 727.0 | 662.72 | 586.53 |
7576 | 2020-04-01 | 723.0 | 660.27 | 585.19 | 714.0 | 653.25 | 576.04 |
7577 | 2020-04-02 | 727.0 | 665.75 | 585.35 | 727.0 | 668.20 | 585.82 |
7578 | 2020-04-03 | 719.0 | 666.05 | 584.55 | 714.0 | 662.34 | 582.62 |
在过去的日子里,所有货币的价格都被列出。由于1990年和2020年的开盘价和收盘价都以美元为单位,我选择只关注美元价格。
在下面的代码中,我使用matplotlib绘制了铂金的收盘价历史记录,以美元为单位。
import matplotlib.pyplot as plt plt.figure(figsize = (10,10)) plt.plot(data["Date"], data["USD PM"],color = "red") plt.title("Daily platinum closing prices",size=26) plt.ylabel("closing price [USD]",size = 16) plt.xlabel("date", size = 16)
Text(0.5, 0, 'date')
在下面的代码中,我重复了上述钯金价格历史的工作流程。
首先,我查询Quandl的数据。
data = pandas.DataFrame(quandl.get('LPPM/PALL', returns="numpy"))
接下来,我审查数据帧的头。
data.head()
Date | USD AM | EUR AM | GBP AM | USD PM | EUR PM | GBP PM | |
---|---|---|---|---|---|---|---|
0 | 1990-04-02 | 128.00 | NaN | 78.70 | 127.65 | NaN | 78.55 |
1 | 1990-04-03 | 128.35 | NaN | 78.60 | 128.50 | NaN | 78.75 |
2 | 1990-04-04 | 128.35 | NaN | 78.25 | 128.00 | NaN | 77.90 |
3 | 1990-04-05 | 128.40 | NaN | 78.00 | 127.75 | NaN | 77.65 |
4 | 1990-04-06 | 128.75 | NaN | 78.45 | 128.50 | NaN | 78.40 |
而且我也会审查数据框架的尾部。
data.tail()
Date | USD AM | EUR AM | GBP AM | USD PM | EUR PM | GBP PM | |
---|---|---|---|---|---|---|---|
7574 | 2020-03-30 | 2236.0 | 2017.14 | 1803.23 | 2242.0 | 2034.48 | 1807.34 |
7575 | 2020-03-31 | 2317.0 | 2108.28 | 1879.92 | 2307.0 | 2103.01 | 1861.23 |
7576 | 2020-04-01 | 2314.0 | 2113.24 | 1872.93 | 2236.0 | 2045.75 | 1803.95 |
7577 | 2020-04-02 | 2288.0 | 2095.24 | 1842.19 | 2123.0 | 1951.29 | 1710.72 |
7578 | 2020-04-03 | 2234.0 | 2069.48 | 1816.26 | 2140.0 | 1985.16 | 1746.23 |
同样,我选择关注美元的收盘价。我使用Python中的matplotlib绘制了下面的价格历史。
plt.figure(figsize = (10,10)) plt.plot(data["Date"], data["USD PM"],color = "red") plt.title("Daily palladium closing prices",size=26) plt.ylabel("closing price [USD]",size = 16) plt.xlabel("date", size = 16)
Text(0.5, 0, 'date')
专业领域为优化和仿真的工业工程师(R,Python,SQL,VBA)
Leave a Reply