咖啡价格分析如何影响日常消费决策?

2026-05-16 14:131阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1077个文字,预计阅读时间需要5分钟。

咖啡价格分析如何影响日常消费决策?

1. 数据概览:咖啡是一种通过烘焙咖啡豆、咖啡属某些开花植物果实调制而成的饮品。

2.从咖啡果中分离出种子,生产出一种稳定、未经烘焙的生咖啡。

3.然后将种子进行烘焙。

咖啡价格分析如何影响日常消费决策?

一、数据概览

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

咖啡价格数据从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的参数:

  • "area"用于面积图。
  • "bar"用于垂直条形图。
  • "barh"用于水平条形图。
  • "box"用于箱形图。
  • "hexbin"用于六边形图。
  • "hist"用于直方图。
  • "kde"用于核密度估计图。
  • "density"是"kde"的别名。
  • "line"用于折线图。
  • "pie"用于饼图。
  • "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()

    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')

    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()

    本文共计1077个文字,预计阅读时间需要5分钟。

    咖啡价格分析如何影响日常消费决策?

    1. 数据概览:咖啡是一种通过烘焙咖啡豆、咖啡属某些开花植物果实调制而成的饮品。

    2.从咖啡果中分离出种子,生产出一种稳定、未经烘焙的生咖啡。

    3.然后将种子进行烘焙。

    咖啡价格分析如何影响日常消费决策?

    一、数据概览

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

    咖啡价格数据从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的参数:

  • "area"用于面积图。
  • "bar"用于垂直条形图。
  • "barh"用于水平条形图。
  • "box"用于箱形图。
  • "hexbin"用于六边形图。
  • "hist"用于直方图。
  • "kde"用于核密度估计图。
  • "density"是"kde"的别名。
  • "line"用于折线图。
  • "pie"用于饼图。
  • "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()

    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')

    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()