Pandas数据可视化咖啡店年月日季度价格

Posted 蚂蚁爱Python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas数据可视化咖啡店年月日季度价格相关的知识,希望对你有一定的参考价值。

人生苦短,我用python

python 安装包+资料:点击此处跳转文末名片获取

一、数据概览

咖啡是一种用烘焙过的咖啡豆、
咖啡属某些开花植物的浆果种子调制而成的饮料。

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

然后将种子进行烘焙,
这一过程将它们转化为一种可消费的产品:焙烤咖啡,
将其磨成细颗粒,
通常在热水中浸泡,
然后过滤,形成一杯咖啡。

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

在本例中我们使用pandaspyplot、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)

日、月、季度、年 咖啡价格

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


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

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


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





👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

数学建模太难,如何以Tableau可视化的方式打开?

项目案例

这是一家咖啡店的数据,Excel里有两个表,分别是销售数据表、产品表。

销售数据表记录了咖啡订单,包括字段:订单编号、订日期、门店、产品ID、顾客、数量。

产品表中记录了咖啡的种类与价格,包括字段:咖啡ID、咖啡种类、杯型、产品名称、价格。

1.什么是数据关系?

在日常生活中,人和人之间是有关系的,管理人之间的关系叫做人脉管理。同样的,表和表之间也是有关系的,叫做数据关系。

通过管理数据关系,就可以清楚的知道各个表之间的关系,有助于我们做跨表格分析。

举个例子,你就明白啦。在案例数据中,销售数据表的“产品ID”与产品表的“产品ID”对应,通过这个关系,就可以知道每个订单里用户购买了什么类型的咖啡,价格是多少。

以上是关于Pandas数据可视化咖啡店年月日季度价格的主要内容,如果未能解决你的问题,请参考以下文章

Pandas数据处理+Matplotlib绘图案例

pandas 日期数据处理大全,按照年、季度、月、周、日筛选数据

再见,可视化!你好,Pandas!

数学建模太难,如何以Tableau可视化的方式打开?

数学建模太难,如何以Tableau可视化的方式打开?

python可视化小程序-实际利率与黄金价格走势图