咖啡价格分析

Posted lanxiaofang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了咖啡价格分析相关的知识,希望对你有一定的参考价值。

一、数据概览

咖啡是一种用烘焙过的咖啡豆、咖啡属某些开花植物的浆果种子调制而成的饮料。 从咖啡果实中分离出种子,生产出一种稳定的、未经烘焙的生咖啡。 然后将种子进行烘焙,这一过程将它们转化为一种可消费的产品:焙烤咖啡,将其磨成细颗粒,通常在热水中浸泡,然后过滤,形成一杯咖啡。

咖啡价格数据从2000年1月2022年5月。

在本例中我们使用pandas、pyplot、seaborn进行数据可视化,绘制折线图、柱状图、散点图,我们可以观察1、日、月、季度、年 咖啡价格,Open-High-Low-Close-Vol每日咖啡价格,Open\\High\\Low\\Close\\Vol,Low-Close,High-Close,Open-Close关系。

plt.plot() kind的参数:

  1. "area"用于面积图。
  2. "bar"用于垂直条形图。
  3. "barh"用于水平条形图。
  4. "box"用于箱形图。
  5. "hexbin"用于六边形图。
  6. "hist"用于直方图。
  7. "kde"用于核密度估计图。
  8. "density"是"kde"的别名。
  9. "line"用于折线图。
  10. "pie"用于饼图。
  11. "scatter"用于散点图

二、数据预处理

import pandas as pd

df = pd.read_csv(./data/coffee.csv)
# df.info()

# print(df.shape) # (5671, 7)

# print(df.describe())
# print(df.columns) #Index([Date, Open, High, Low, Close, Volume, Currency], dtype=object)
# print(len(df.Date.unique())) #5671
# print(df.Currency.unique()) #[USD]

三、数据可视化

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

plt.rcParams[font.sans-serif] = [SimHei] # 显示中文标签
plt.rcParams[axes.unicode_minus] = False

df = pd.read_csv(./data/coffee.csv)

df.Date = pd.to_datetime(df.Date, yearfirst=True)
df.set_index(Date, inplace=True)
1、日、月、季度、年 咖啡价格
fig, axes = plt.subplots(2, 2, figsize=[15, 7])
fig.suptitle(咖啡价格, size=24)

# 每天的价格
axes[0, 0].plot(df.Close.resample(D).mean())
axes[0, 0].set_title("日", size=16)

# 每个月的价格
axes[0, 1].plot(df.Close.resample(M).mean())
axes[0, 1].set_title("月", size=16)
# 每个季度的价格
axes[1, 0].plot(df.Close.resample(Q).mean())
axes[1, 0].set_title(季度, size=16)

# 每年的价格
axes[1, 1].plot(df.Close.resample(A).mean())
axes[1, 1].set_title(年, size=16)

plt.tight_layout()
plt.show()

咖啡价格分析_核密度估计

2、Open-High-Low-Close-Vol每日咖啡价格
df["Vol"] = df["Volume"] / 100
df["Open"].plot(label="Open", color="#00A505", linewidth=1, figsize=(15, 5))
df["High"].plot(label="High", color="#F54974", linewidth=1, figsize=(15, 5))
df["Low"].plot(label="Low", color="#E8C0FD", linewidth=1, figsize=(15, 5))
df["Close"].plot(label="Close", color="#1CACDB", linewidth=0.75, figsize=(15, 5))
df["Vol"].plot(label="Volume", color="#0000C0", alpha=0.55, linewidth=0.75, figsize=(15, 5))

plt.grid(axis="y", color="#000000")
plt.title("Open-High-Low-Close-Vol每日咖啡价格")
plt.xlabel("年")
plt.ylabel("USD")
plt.legend(loc=2)
plt.savefig(r.\\result\\Open-High-Low-Close-Vol每日咖啡价格.png)
plt.show()

咖啡价格分析_核密度估计_02

3、Open\\High\\Low\\Close\\Vol
def sns_displotbins(df, x, bins):
sns.displot(df, x=x, bins=bins)
plt.title(x)
plt.tight_layout()
plt.show()


def sns_displot(df, x):
sns.displot(df, x=x)
plt.title(x)
plt.tight_layout()
plt.show()


sns_displotbins(df, Open, 10)
# sns_displotbins(df, High, 10)
# sns_displotbins(df, Low, 10)
# sns_displotbins(df, Close, 10)
# sns_displotbins(df, Volume, 10)

sns_displot(df, Open)
# sns_displot(df, High)
# sns_displot(df, Low)
# sns_displot(df, Close)
# sns_displot(df, Volume)

咖啡价格分析_数据可视化_03

咖啡价格分析_核密度估计_04

4、Low-Close,High-Close,Open-Close关系
df.plot(x="Low", y="Close", kind="scatter", color="#1CD89D", alpha=0.3)  # 散点图
plt.xlabel("Low")
plt.ylabel("Close")
plt.show()

df.plot(x="High", y="Close", kind="scatter", color="#0ABF04", alpha=0.5) # 核密度估计图
plt.xlabel("High")
plt.ylabel("Close")
plt.show()

df.plot(x="Open", y="Close", kind=scatter, color="#ED5894", alpha=0.5) # 折线图
plt.xlabel("Open")
plt.ylabel("Close")
plt.show()

咖啡价格分析_核密度估计_05

咖啡价格分析_数据可视化_06

咖啡价格分析_核密度估计_07

以上是关于咖啡价格分析的主要内容,如果未能解决你的问题,请参考以下文章

tableau实战系列(四十六)-如何用Tableau实现动态报表?​某咖啡店的销售数据报表(看板)

tableau实战系列(四十六)-如何用Tableau实现动态报表?​某咖啡店的销售数据报表(看板)

4折交叉验证|咖啡

设计模式之装饰模式的复习

Python迭代器 —— 实现for循环

将每日股票价格变成每周/每月/每季度/学期/每年?