- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 tqdm 或其他一些库在以下代码行中显示进度条:corrmatrix = adjClose.corr('spearman')
其中 adjClose 是一个数据框,其中包含许多股票代码作为列和按日期索引的多年收盘价。输出最终是一个相关矩阵。
随着更多的代码被添加到数据框中,这段代码往往会花费更多的时间,我想要某种进度的视觉表示来指示代码仍在运行。除非我严重忽略了一些东西,否则谷歌在这方面并没有出现太多。
最佳答案
备注 :由于计算时间增加,这将不是一个真正可行的答案。根据我的测量,当使用小数据帧(高达 40 倍)时,它会显着增加,但是当使用大数据帧时,它大约是 2 - 3 倍。
也许有人可以找到自定义函数更高效的实现calc_corr_coefs
.
我已经设法使用 pythons tqdm 模块来显示进度,但这需要我使用它的 df.progress_apply()
功能。下面是一些示例代码:
import time
from tqdm import tqdm
import numpy as np
import pandas as pd
def calc_corr_coefs(s: pd.Series, df_all: pd.DataFrame) -> pd.Series:
"""
calculates the correlation coefficient between one series and all columns in the dataframe
:param s: pd.Series; the column from which you want to calculate the correlation with all other columns
:param df_all: pd.DataFrame; the complete dataframe
return: a series with all the correlation coefficients
"""
corr_coef = {}
for col in df_all:
# corr_coef[col] = s.corr(df_all[col])
corr_coef[col] = np.corrcoef(s.values, df_all[col].values)[0, 1]
return pd.Series(data=corr_coef)
df = pd.DataFrame(np.random.randint(0, 1000, (10000, 200)))
t0 = time.perf_counter()
# first use the basic df.corr()
df_corr_pd = df.corr()
t1 = time.perf_counter()
print(f'base df.corr(): {t1 - t0} s')
# compare to df.progress_apply()
tqdm.pandas(ncols=100)
df_corr_cust = df.progress_apply(calc_corr_coefs, axis=0, args=(df,))
t2 = time.perf_counter()
print(f'with progress bar: {t2 - t1} s')
print(f'factor: {(t2 - t1) / (t1 - t0)}')
我希望这会有所帮助,并且有人能够加快实现速度。
关于python - pandas .corr() 方法的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61721905/
我试图使用 cor 函数找到 data.frame 对象每一列中的最大相关性。假设这个对象看起来像 A N A B C
它运行良好,直到它不是,并且不知道我做错了什么。我已将其简化为一个非常简单的 datsaset t: 1 2 3 4 5 6 7 8 0 3 16 3
我正在尝试使用 tqdm 或其他一些库在以下代码行中显示进度条: corrmatrix = adjClose.corr('spearman') 其中 adjClose 是一个数据框,其中包含许多股票代
我想在本质上创建列 bool 值后计算 Pandas 数据框的两列之间的相关系数。原版table有两列:一个 Group带有两个处理组之一的列,现在是 bool 值,还有一个 Age团体。这些是我要计
我想知道 MATLAB 是否有一个工具箱可以对稀疏矩阵进行常见的矩阵运算。 使用稠密矩阵,我可以计算相关图矩阵: R = rand(10,100) [r,p] = corr(R) 对于稀疏矩阵,我很想
我正在尝试使用 corr() 函数来计算加权权重。它的工作方式是第一个参数应该是一个矩阵,其中有两列对应于我们希望计算其相关性的两个变量,第二个参数是要应用于每对观察值的权重向量。 这是一个例子。 >
我有一个数据框如下: fsym EOS BTC BNB time
我有以下 pandas 数据框 Top15: 我创建了一个列来估计每人可引用文档的数量: Top15['PopEst'] = Top15['Energy Supply'] / Top15['Energ
我多次使用 pandas corr() 方法。但我不知道 pandas corr() 是否应用自动数据规范化。我知道必须在数据归一化之后进行关联。 我的问题是,如果我使用 pandas corr()
我想创建一个相关性,其中一个变量作为自变量,多个附加变量作为因变量,然后将其转换为热图。 我正在关注这些directions 。 我的代码: df_corr_interest = df[df.colu
我正在学习如何在 python3 中使用 pandas 库,并且遇到了 dataframe.corr() 的问题 这是我的数据集的示例 Date,Gender,Age at Booking,Curre
我有两个完美(或完全不完美?)相关的数字,我想找到它们之间的相关性。原始场景不同且更复杂,但问题出在 pg 使用的相关方法中的某个地方。请考虑以下查询: WITH all_series AS
我有几个价格返回系列,我想以日期之间没有重叠的方式计算滚动 N 天相关性,即,如果我的第一个相关矩阵属于 [2000-04-05 - 2000 -06-04],下一个相关矩阵应该属于[2000-06-
我是 pandas/python 的新手。我想知道函数 .corr 在计算相关性时如何删除具有多个变量的数据帧的空数据。 例如,假设我有以下数据框: # 'A1' 'A2' 'A3' 1
在 Pandas 中,我们可以用 .corr() 生成相关矩阵.我的问题很简单:是否保留了原始数据框的列顺序?从我的测试来看似乎是这样,但我想确定一下。 我问是因为我在 Python 3.7.3 上,
Pandas 提供两种不同关联函数的原因是什么? DataFrame.corrwith(other, axis=0, drop=False): Correlation between rows or
编辑以显示原始数据框的示例: df.head(4) shop category subcategory season date 20
我在 R 中使用随机森林的回归模型,我发现参数 corr.bias 根据手册是“实验性的”,我的数据是非线性的,我只是想知道将此参数设置为 true 是否可以增强结果,加上我不知道它对于非线性数据到底
x=[0.3, 0.3, 0.3, ..., 0.3](0.3 的数量:10) y=x x 和 y 之间的线性相关系数是多少? 对于此x 和y,所有对都指向同一点(0.3, 0.3)。我们可以说 x
我正在尝试在数据帧上运行我认为应该是一个简单的相关函数,但它在我认为不应该返回的地方返回 NaN。 代码: # setup import pandas as pd import io csv = io
我是一名优秀的程序员,十分优秀!