http://www.7klian.com

使用Python和Pandas收集比特币历史数据

我们还在数据帧上挪用.reset_index()要领,以便重置索引列。这将为数据的第一行分派一个索引值,从0开始,为第二行分派一个索引值,依此类推。我们还将通报参数inplace = True。这在pandas中很常用,它的浸染是汇报Python我们但愿我们的原始数据框成为该数据框的新编辑版本。假如inplace未配置为True,则运行该行后,我们正在处理惩罚的数据帧将保持稳定。利用.head()要领并查察索引值来摸索此行为。
df19.plot(x=”Timestamp”,y=”Weighted_Price”)

运行以下代码将库导入剧本。假如没有呈现错误,则可以继承本教程的其余部门。

 变动时间戳名目
raw_data.head()

df.reset_index(inplace=True, drop=True)
有了它,它是一个基本框架,可让您开始利用此比特币汗青数据集,以及可以在Python和pandas中完成的一些根基操纵。没有.head()和.tail()挪用的完整精简代码可以在下面找到。
raw_data = pd.read_csv(“bitstampUSD_1-min_data_2012-01-01_to_2020-04-22.csv”)
您大概看到’Timestamp’列的名目很奇怪,这实际上是UNIX时间名目,因此我们但愿将其转换为UTC时间。我们利用pd.to_datetime()要领执行此操纵。我们将通报要对其执行此成果的数据的参数,即数据的“Timestamp”列,还将通报参数unit =’s’,该参数汇报函数输入的UNIX时间单元是秒。我们利用下面的代码行将此函数的输出生存到数据框中的“Timestamp”列。请留意,在pandas中引用列内的数据时,我们利用以下观念df [‘Timestamp’]。在方括号内通报的字符串是列的名称。
df19 =  df[df[“year”] == 2019]

好吧,在这里,我展示了开始阐明比特币并将其转换成可用形式的Python代码。我会利用pandas库演示利用Python中有何等容易的一件事。
df[‘Timestamp’] = pd.to_datetime(df[‘Timestamp’], unit=’s’)
安装pandas library

· 建设新列

绘制数据以举办视觉查抄
df19.reset_index(inplace=True, drop=True)
df19.reset_index(inplace=True, drop=True)

在数据帧上运行.tail()要领将显示最后5行,您可以看到这些行实际上已满。别的,请留意数据框索引列中该数据会合的行数(最左侧) 高出四百万!对付Excel来说太多了,可是Python和Pandas可以轻松地处理惩罚它。
df.head()

df = raw_data.dropna()
我将利用的数据来自Kaggle,它是世界上最大的数据科学社区,也是查找大量数据集的最佳场合之一。该特定命据集是2012/01/01–2020/04/22比特币的汗青分钟数据。

打开一个新剧本并生存它。第一个任务是测试pandas库是否安装正确。
假如没有呈现错误,则应正确安装库。我们顿时要做最后的测试。
所以此刻举办一些编码…

生存数据
df.plot(x=”Timestamp”,y=”Weighted_Price”)

df19.to_csv(‘btc19.csv’, index=False)

此刻让我们想象一下,我们想为数据中的每一年建设数据框架。譬喻一个数据框df19包括了2019年以来的所有数据。一种要领是首先建设一个名为“ year”的列,个中包括每个数据点的year值。然后我们将建设一个新的数据框,个中仅包括“年”列便是2019的数据行。

此刻我们可以像绘制数据之前一样绘制图表,可是这次仅绘制2019年的数据。
df19.plot(x=”Timestamp”,y=”Weighted_Price”)
df[“year”] = pd.DatetimeIndex(df[“Timestamp”]).year
我们还通报了第二个参数drop = True。默认环境下,.reset_index()要领将重置数据索引,但原始索引列将被复制到名为“ index”的新列中。我们没有用这个特另外列,因此我们将其删除。这也可以通过在数据帧上利用.drop()要领并指定要删除的列名称来实现。

此刻您有了清洁的数据,也许您已经添加到数据中或成为了子集。凡是要生存此数据,这样就不必再次运行此代码。在数据帧上利用.to_csv()要领很是容易。以下是我用于生存df19数据帧的代码,以便未来未来利便利用。通报给该要领的第一个参数是您但愿将其另存为的文件名,而index = False汇报Python不要将数据帧的索引生存到csv文件中凡是不需要的列中。
我们可以利用pandas中内置的一个名为.diff()的要领来实现这一点。我们只需利用以下标记df[“Title of new column”]指定要建设的列,并将其配置为我们但愿通过.diff()要领找到差此外列。
为此,我们将首先建设一个“year”列。我们将“Timestamp”列输入pd.DatetimeIndex类,并要求.year属性。这将返回我们每个Timestamp的年份值,并将此数据分派给一个新列,我们将其界说为“year”。
df[“closeDiff”] = df[“Close”].diff()
df[‘Timestamp’] = pd.to_datetime(df[‘Timestamp’], unit=’s’)
pip install pandas
df19.to_csv(‘btc19.csv’, index=False)
所以此刻我们要建设一个数据帧,个中删除了所有的NaN值。在pandas中,这很是简朴,我们只在数据帧上利用.dropna()要领,并将其分派给我们称为df的新数据帧。这是包括所有有用数据的数据框,这些数据将在今后的阐明中利用。

因此此刻我们需要一个新的数据框df19,个中包括数据框df中的所有行,在“year”列中的值为2019。为此,我们编写以下代码行。这种暗示法大概会造成一些夹杂,可是在这里我们只是说,用数据框df得到所有行,个中“year”列便是2019,然后将其分派给名为df19的新数据框。
df.head()

df.reset_index(inplace=True, drop=True)

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读