我正在使用一个加密货币数据示例,每个单元格都包含一个字典。包含开盘价、收盘价、最高价、最低价、成交量和市值的字典。列是相应的日期,索引是每个加密货币的名称。你知道吗
我不知道如何准备数据,以便我找到不同货币之间的相关性,例如最高价格和成交量之间的相关性。在python(pandas)中如何做到这一点……在这种情况下,我又该如何定义日期范围呢?你知道吗
这里有一个到数据示例、我的编码和数据的打印输出的链接(访问对公众开放):https://drive.google.com/open?id=1mjgq0lEf46OmF4zK8sboXylleNs0zx7I
首先,我建议重新排列数据,使每种货币的OHLCV值都是它们自己的列(例如“btc|U open | btc|U high”等)。这使得生成相关矩阵更加容易。我还建议你在分析中只从一个指标(如收盘价)开始,也许还可以从周期变动(如收盘开盘)开始。回答您的问题:
熊猫可以返回所有列的相关矩阵:
如果只想使用特定列,请从数据框中选择这些列:
可以使用以下格式返回两列之间的单个相关值:
如果您想指定一个特定的日期范围,我建议您使用这个question。我相信这将要求您的日期列或索引类型为datetime。如果您不知道如何使用或转换为这种类型,我建议您查阅pandas文档(可能从pandas.to_datetime开始)。你知道吗
今后,我建议在你的帖子中加入一个数据片段。我不认为googledrive是共享数据的合适形式,将数据设置为“request access”肯定是不合适的。你知道吗
编辑:我检查了您的数据并创建了一个较小的子集来测试这个方法。如果数据有缺陷,你可能会发现问题,但当我在你最初的100天和10枚硬币的样本上测试时,我没有发现问题(在转换之后,测向iloc[:100, :10]. 你知道吗
首先,转换数据帧,使列按硬币排列,行按日期排列。你知道吗
接下来,我们连接到一个新的数据帧(result)。或者,连接到原始列并在之后删除列。不幸的是,我想不出一个非迭代的方法。此方法逐列进行,为每个硬币创建一个数据帧,将硬币名称前缀添加到列名,然后将每个数据帧连接到末尾。你知道吗
相关问题 更多 >
编程相关推荐