小编Fur*_*him的帖子

由于matplotlib.finance已被弃用,我如何使用新的mpl_finance模块?

我试图matplotlib.finance在python中导入模块,以便我可以制作烛台OCHL图.我的matplotlib.pyplot版本是2.00.我尝试使用以下命令导入它:

import matplotlib.finance
from matplotlib.finance import candlestick_ohlc
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

warnings.warn(message,mplDeprecation,stacklevel = 1)MatplotlibDeprecationWarning:财务模块已在mpl 2.0中弃用,将在mpl 2.2中删除.请改用模块mpl_finance.

然后我没有在python中使用上面的行,而是尝试使用以下行:

import mpl_finance
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

ImportError:没有名为'mpl_finance'的模块

我该怎么做才能从中导入烛台matplotlib.pyplot

matplotlib candlestick-chart python-3.x

25
推荐指数
7
解决办法
5万
查看次数

多项 Logit 模型 Python 和 Stata 不同结果

我正在尝试使用 python 和 stata 构建多项 logit 模型。我的数据如下:

    ses_type prog_type  read  write  math  prog  ses 
0        low   Diploma  39.2   40.2  46.2     0     0
1     middle   general  39.2   38.2  46.2     1     1
2       high   Diploma  44.5   44.5  49.5     0     2
3        low   Diploma  43.0   43.0  48.0     0     0
4     middle   Diploma  44.5   36.5  45.5     0     1
5       high   general  47.3   41.3  47.3     1     2
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用ses read write 和 math预测prog。其中 ses 代表社会经济地位并且是一个名义变量,因此我使用以下命令在 stata 中创建了我的模型:

mlogit prog i.ses read write …
Run Code Online (Sandbox Code Playgroud)

python statistics stata scikit-learn mlogit

7
推荐指数
1
解决办法
3235
查看次数

标准化缩放是使用 sklearn 应用 PCA 的先决条件吗?

我有一组 70 个输入变量,需要对其执行 PCA。根据我的理解,将数据居中,使得每个输入变量的平均值为 ,0方差为1,对于应用 PCA 是必要的。

我很难弄清楚preprocessing.StandardScaler()在将数据集传递给sklearnPCAPCAsklearn 中的函数自行执行之前是否需要执行标准缩放。

如果是后者,那么无论我是否应用,preprocessing.StandardScaler()explained_variance_ratio_应该是相同的。

但结果不同,所以我认为preprocessing.StandardScaler()在申请之前有必要PCA。这是真的吗?

centering pca scikit-learn

7
推荐指数
1
解决办法
3938
查看次数

对时间序列数据应用傅立叶变换,避免混叠

我愿意对时间序列数据进行傅里叶变换,以将数据转换为频域。我不确定我用来进行傅立叶变换的方法是否正确?以下是我使用过的数据的链接

读取数据文件后,我使用绘制了原始数据

t = np.linspace(0,55*24*60*60, 55)
s = df.values
sns.set_style("darkgrid")
plt.ylabel("Amplitude")
plt.xlabel("Time [s]")
plt.plot(t, s)
plt.show()
Run Code Online (Sandbox Code Playgroud)

由于数据是按每日频率运行,因此我已使用将其转换为秒,24*60*60并使用进行了55天的转换55*24*60*60

该图如下所示: 原始时间序列

接下来,我使用以下代码实现了傅立叶变换,并获得了如下图像:

#Applying Fourier Transform
fft = fftpack.fft(s)

#Time taken by one complete cycle of wave (seconds)
T = t[1] - t[0] 

#Calculating sampling frequency
F = 1/T

N = s.size

#Avoid aliasing by multiplying sampling frequency by 1/2 
f = np.linspace(0, 0.5*F, N)

#Convert frequency to mHz
f = f * 1000

#Plotting frequency domain against amplitude …
Run Code Online (Sandbox Code Playgroud)

python fft scipy pointer-aliasing time-frequency

5
推荐指数
1
解决办法
1530
查看次数