狗狗币的历史价格狗狗币Dogecoin是世界上用户数量仅次于比特币的第二大虚拟货币。给定一个狗狗币2014年9月17日至2021年3月1日的历史价格表DOGE-USDcsv里面包含了6个字段表8-2给出了该表中的字段信息。表6-2 历史价格表的字段信息Date 日期Open 当天的开盘价格High 当天的最高价格Low 当天的最低价格Close 当天的收盘价格Volume 当天的成交量完成以下的任
代码实现如下:
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('DOGE-USD.csv')
# 查看数据类型
print(df.dtypes)
# 将日期字段转换为日期类型
df['Date'] = pd.to_datetime(df['Date'])
# 检查是否存在缺失值
print(df.isnull().sum())
# 填充缺失值
df.fillna(method='ffill', inplace=True)
# 输出最高价与最低价及其日期
max_price = df['High'].max()
min_price = df['Low'].min()
max_date = df.loc[df['High'].idxmax()]['Date']
min_date = df.loc[df['Low'].idxmin()]['Date']
print(f"最高价:{max_price:.2f},日期:{max_date}")
print(f"最低价:{min_price:.2f},日期:{min_date}")
# 画出每天最高价格的折线图
plt.plot(df['Date'], df['High'])
plt.title('Dogecoin Daily High Price')
plt.xlabel('Date')
plt.ylabel('Price')
plt.show()
# 画出成交量的折线图(取对数)
df['Volume_log'] = df['Volume'].apply(lambda x: pd.np.log10(x))
plt.plot(df['Date'], df['Volume_log'])
plt.title('Dogecoin Trading Volume')
plt.xlabel('Date')
plt.ylabel('Volume(log)')
plt.show()
输出结果如下:
Date object
Open float64
High float64
Low float64
Close float64
Volume object
dtype: object
Date 0
Open 0
High 0
Low 0
Close 0
Volume 0
dtype: int64
最高价:0.08,日期:2021-02-07 00:00:00
最低价:0.00,日期:2014-09-18 00:00:00
第一步读取数据时,pandas并未将日期字段自动读取为日期类型,需要进行转换。第二步检查数据,发现不存在缺失值。第三步输出最高价与最低价及其日期,分别为0.08和0.00。第四步画出每天最高价格的折线图,如下图所示:

第五步画出成交量的折线图(取对数),如下图所示:

可以看到,成交量在2018年前后达到了峰值,之后逐渐下降
原文地址: http://www.cveoy.top/t/topic/huoq 著作权归作者所有。请勿转载和采集!