1.5.3 准备数据
本项目中使用的比特币数据是通过爬虫实现的,使用了如下所示的库和技术。
- 库Pandas:利用Pandas进行数据收集,这是一个强大的数据处理和分析工具,用于整理和准备我们的数据。
- 库yfinance:库yfinance提供了获取金融数据的功能,特别适用于股票和加密货币等领域。
- APIs:本项目利用API(应用程序接口)来获取数据,APIs是与外部服务通信的接口,用于获取实时或历史数据。
通过使用上述方法,能够有效地收集比特币交易所需的数据,并确保数据的可靠性和准确性。
(1)下面代码首先导入了一些常用的数据科学和金融分析所需的Python库,包括NumPy、Pandas、Matplotlib。然后通过!pip install yfinance安装了yfinance库,该库用于获取金融数据,特别是股票和加密货币的历史数据。接着导入了requests和json库,用于发送HTTP请求并处理返回的JSON数据。这些库的组合使得用户能够方便地获取、分析和可视化金融市场的数据。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
!pip install yfinance
import yfinance as yf
import requests, json
(2)下面代码使用yfinance库获取了比特币(BTC)对美元(USD)的历史数据。首先,通过yf.Ticker("BTC-USD")创建了一个代表比特币对美元的对象。然后,使用.history()方法从指定的开始日期('2014-09-01')到结束日期('2022-02-1')获取了相应的历史价格数据,并将其存储在yf_df数据框中。这样,可以通过yf_df进行进一步的数据分析和可视化。
data = yf.Ticker("BTC-USD")
yf_df = data.history(start='2014-09-01', end='2022-02-1')
yf_df
执行后会输出:
(3)下面代码使用requests库发送了一个GET请求,从CoinCodex API获取了比特币(Bitcoin)在指定时间范围(2021年1月1日至2021年9月30日)的历史数据。通过json.loads将返回的JSON数据加载为Python对象,然后使用Pandas创建了一个数据框(DataFrame),其中包含了获取到的比特币历史数据。
api_data = json.loads(requests.get('https://coincodex.com/api/coincodexcoins/get_historical_data_by_slug/bitcoin/2021-1-1/2021-9-30/1?t=5459791').text)
api_df = pd.DataFrame(api_data['data'])
api_df
执行后会输出: