Julia中的数据分析入门

简介: Julia中的数据分析入门

Julia的入门非常简单,尤其是当您熟悉Python时。在本篇文章中,我们将使用约翰霍普金斯大学系统科学与工程中心在其GitHub存储库中提供的Covid-19数据(https://github.com/CSSEGISandData/)。

入门

对于我们的数据分析,我们将会使用一些软件包来简化操作:CSV,DataFrame,日期和可视化。只需输入软件包名称,即可开始使用。

usingCSVusingDataFramesusingDatesusingPlots

如果包还没有添加到您的项目环境中,您可以轻松地添加它们。

usingPkgPkg.add("CSV")
Pkg.add("DataFrames")
Pkg.add("Dates")
Pkg.add("Plots")

读取数据

读取数据只需几个简单的步骤。首先,我们指定CSV文件的URL。其次,我们指定文件在本地机器上的路径。我们将加入目前的工作目录和文件名“confirmed.csv”路径。然后将文件从URL下载到指定的路径。第四个也是最后一个步骤是将CSV文件读入一个名为“df”的DataFrame中。

#Step1: SpecifythefilelocationURL="https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv"#Step2: Specifythepathpath=joinpath(pwd(), "confirmed.csv")
#Step3: Downloadthefiledownload(URL, path)
#Step4: ReadingtheCSVfileintoaDataFramedf=CSV.File(path) |>DataFrame

让我们看看数据的前10行。

first(df, 10)

640.png

整理数据

在本例中,我们不需要省份/州、Lat和Long列。所以我们先把它们放下。通过在select语句后加上感叹号,df会被修改。

select!(df, Not(["Province/State", "Lat", "Long"]))

澳大利亚和其他一些国家有多个行。当我们想要绘制每个国家的数据时,我们必须聚合数据。我们将通过执行split — apply — combine来做到这一点。首先,我们使用groupby函数按国家分割数据。然后我们对每组(即每个国家)的所有日期列应用一个求和函数,因此我们需要排除第一列“国家/地区”。最后,我们将结果合并到一个df中。

grp=groupby(df, "Country/Region")
column_names=names(grp)
date_columns=column_names[2:end] #selectallcolumnsexceptthefirstcolumn"Country/Region"df=combine(gdf, date_columns .=>sum .=>date_columns)

让我们看看到目前为止我们有什么。

first(df, 10)

640.png

我们的df现在(在写入时)有320列。但是,我们希望一列显示日期,另一列显示我们称之为“case”的值。换句话说,我们要把数据帧从宽格式转换成长格式,这里就需要使用堆栈函数。

df=DataFrames.stack(
df,
Not("Country/Region"),
"Country/Region",
variable_name="Date",
value_name="Cases",
)

下面是我们格式化完成的数据,显示最后10行。

last(df, 10)

640.png

还有一件事要做。我们需要将de列“Date”从分类字符串格式转换为绘制时间序列的日期格式。

df.Date=Dates.Date.(df.Date|>Array, Dates.DateFormat("m/d/Y")) .+Dates.Year(2000)

这是对最终整理后数据的描述如下。

describe(df)

640.png

在可视化数据之前,让我们先将整理后的数据写入磁盘。

CSV.write(joinpath(pwd(), "confirmed_tidy.csv"), df)

可视化数据

在我们的第一张图中,我们将可视化美国Covid-19累计确诊病例。

plot(
df[df["Country/Region"] .=="US", :Date],
df[df["Country/Region"] .=="US", :Cases],
title="Confirmed cases US",
xlabel="Date",
ylabel="Number of cases",
legend=false,
)

640.png

在一个图中绘制多个国家的时间序列非常简单。首先创建基本块,并为每个国家添加一层。

p=plot(
title="Confirmed Cases",
xlabel="Date",
ylabel="Number of cases",
legend= :topleft,
)
forcountry= ["US", "Russia", "India"]
plot!(
df[df["Country/Region"] .==country, :Date],
df[df["Country/Region"] .==country, :Cases],
label=country,
    )
endp

640.png

在我们的最后一个图中,我们将绘制美国每天的新病例。要做到这一点,我们必须计算连续天数之间的差值。因此,对于时间序列的第一天,这个值将不可用。

bar(
df[df["Country/Region"] .=="US", :Date][2:end],
diff(df[df["Country/Region"] .=="US", :Cases]),
title="Daily Cases US",
xlabel="Date",
ylabel="Number of cases",
color="red",
linecolor="white",
legend=false,
size= (900, 400),
)

640.png

最后,我们将把图保存到磁盘上。

savefig(joinpath(pwd(), "daily_cases_US.svg"))

总结

在本文中,我们介绍了使用Julia进行数据分析的基础知识。根据我的经验,Julia很像python。这两种语言都易于编写和学习。两者都是开源的。我喜欢Julia的原因是它的高性能以及它与其他编程语言(如Python)的互操作性。我喜欢Python的地方在于它庞大的包集合和庞大的在线社区。

目录
相关文章
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【8月更文挑战第29天】在数据驱动的时代,掌握数据分析技能变得尤为重要。本文将引导您了解如何使用Python这一强大工具来进行数据分析,从设置开发环境到实际操作案例,逐步深入,帮助您建立起数据分析的基本框架和思维模式。通过阅读本文,您将学会如何利用Python处理、分析和可视化数据,为进一步深入学习奠定坚实的基础。
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析入门涉及基础如Python语言、数据分析概念及优势。
【7月更文挑战第5天】Python数据分析入门涉及基础如Python语言、数据分析概念及优势。关键工具包括NumPy(数组操作)、Pandas(数据处理)、Matplotlib(绘图)、Seaborn(高级可视化)和Scikit-learn(机器学习)。流程涵盖数据获取、清洗、探索、建模、评估和展示。学习和实践这些将助你有效利用数据。
53 2
|
5月前
|
数据采集 机器学习/深度学习 数据可视化
使用Jupyter Notebook进行数据分析:入门与实践
【6月更文挑战第5天】Jupyter Notebook是数据科学家青睐的交互式计算环境,用于创建包含代码、方程、可视化和文本的文档。本文介绍了其基本用法和安装配置,通过一个数据分析案例展示了如何使用Notebook进行数据加载、清洗、预处理、探索、可视化以及建模。Notebook支持多种语言,提供直观的交互体验,便于结果呈现和分享。它是高效数据分析的得力工具,初学者可通过本文案例开始探索。
|
1月前
|
数据可视化 数据挖掘 大数据
Python 数据分析入门:从零开始处理数据集
Python 数据分析入门:从零开始处理数据集
|
1月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析:从入门到实践
使用Python进行数据分析:从入门到实践
40 2
|
16天前
|
数据采集 机器学习/深度学习 数据可视化
深入浅出:用Python进行数据分析的入门指南
【10月更文挑战第21天】 在信息爆炸的时代,掌握数据分析技能就像拥有一把钥匙,能够解锁隐藏在庞大数据集背后的秘密。本文将引导你通过Python语言,学习如何从零开始进行数据分析。我们将一起探索数据的收集、处理、分析和可视化等步骤,并最终学会如何利用数据讲故事。无论你是编程新手还是希望提升数据分析能力的专业人士,这篇文章都将为你提供一条清晰的学习路径。
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【9月更文挑战第33天】本文旨在为初学者提供一个关于使用Python进行数据分析的全面概述。我们将从基本的安装和设置开始,逐步介绍数据处理、数据可视化以及机器学习的基本概念和应用。文章将通过实际代码示例来展示如何使用Python及其相关库来解决常见的数据分析问题。
|
25天前
|
数据挖掘 索引 Python
Python数据分析篇--NumPy--入门
Python数据分析篇--NumPy--入门
29 0
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
Python中的简单数据分析:入门指南
【10月更文挑战第2天】Python中的简单数据分析:入门指南
33 0
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
深入浅出:使用Python进行数据分析的入门指南
【9月更文挑战第11天】本文旨在为初学者提供一条清晰的道路,通过Python探索数据科学的奇妙世界。我们将从基础语法讲起,逐步深入到数据处理、可视化以及机器学习等高级话题。文章不仅分享理论知识,还将通过实际代码示例,展示如何应用这些知识解决实际问题。无论你是编程新手,还是希望扩展技能的数据分析师,这篇文章都将是你宝贵的资源。