从数据存储到数据分析:CRATEDB和PANDAS 2的教程
#python #database #pandas #dataframe

介绍

pandas是Python的开源数据操作和分析库。它被广泛用于处理和分析各个领域的数据,包括金融,研究等。

大熊猫的关键好处之一是它可以处理和操纵大型数据集的能力,从而成为数据科学家和分析师的宝贵工具。该库为数据清洁,转换和分析提供了易于使用的数据结构和功能,使其成为数据分析工作流程的重要组成部分。

一起使用cratedb和pandas在一起可以是处理大量数据并执行复杂数据分析任务的强大组合。在本教程中,我们将使用现实世界数据集展示如何将CratedB和Pandas一起进行有效数据分析。

要求

要与本教程一起,您将需要:

  • cratedb 5.2的运行实例
  • python 3.x安装了pandas 2crate 0.31套件。
  • CSV格式的现实世界数据集。在本教程中,我们将使用Kaggle上的商店客户数据。

设置CratedB

在我们开始使用cratedB之前,我们需要对其进行设置。您可以通过Dockertarball下载并安装CratedB,也可以使用免费群集的CrateDB Cloud实例使用CrateDB Cloud实例。

拥有CRATEDB的运行实例后,创建一个新表来存储客户数据数据集。这是一个SQL命令来创建一个表:

CREATE TABLE IF NOT EXISTS "doc"."customer_data" (
   "customerid" INTEGER,
   "gender" TEXT,
   "age" INTEGER,
   "annualincome" INTEGER,
   "spendingscore" INTEGER,
   "profession" TEXT,
   "workexperience" INTEGER,
   "familysize" INTEGER
)

创建表之后,您可以使用COPY FROMCommand将客户数据数据集导入CRATEDB:

COPY "doc"."customer_data" FROM 'file:///path/to/Customers.csv' 
WITH (format='csv', delimiter=',')

cratedb运行后,您可以开始使用pandas探索数据。

用cratedb和pandas查询数据

第一步是导入pandas库,并指定要在CRATEDB上执行的查询。在我们的示例中,我们想获取所有客户数据。

读取来自cratedb的数据并在pandas dataframe中使用read_sql方法,如下所示。

import pandas as pd

query = "SELECT * FROM customer_data"
df = pd.read_sql(query, 'crate://localhost:4200')

在上面的代码中,我们建立了与端口4200上Localhost上运行的本地cratedb实例的连接,执行SQL查询,并将结果返回为PANDAS DataFrame。您可以进一步修改查询以仅检索所需的列或根据某种条件过滤数据。

分析数据

现在将数据加载到PANDAS DataFrame中,我们可以对其进行各种分析和操作。例如,我们可以通过特定列对数据进行分组,并计算另一列的平均值:

avg_income = df.groupby("profession")["annualincome"].mean()

在此示例中,我们按profession列将数据分组,并计算每个专业的平均年收入。您可以使用df.plot()方法绘制有关平均收入的数据,指定图的类型(条形图)以及用于X和Y轴的列:

import matplotlib.pyplot as plt

income_by_profession.plot(kind='bar', legend=True, rot=0)
plot.show()

我们还使用matplotlibplt.show()显示图:

Plot

包起来

就是这样!现在,您应该对如何将cratedB和pandas一起分析存储在CRATEDB中的大型数据集有一个好主意。这使您可以利用熊猫的强大数据操纵功能来分析和可视化数据。
要了解有关您可能遇到的更新,功能和其他问题的更多信息,请加入我们的CrateDB社区。