我有一个时间序列"Ser",我想用滚动窗口计算波动率(标准偏差).我当前的代码正确地以这种形式执行:
w=10
for timestep in range(length):
subSer=Ser[timestep:timestep+w]
mean_i=np.mean(subSer)
vol_i=(np.sum((subSer-mean_i)**2)/len(subSer))**0.5
volList.append(w_i)
Run Code Online (Sandbox Code Playgroud)
这在我看来非常低效.Pandas是否具有内置功能来执行此类操作?
有什么方法可以避免在使用xlwings时打开文件?
我读到一年前有更新,但我不知道问题是否已解决。
假设我有两个形式的熊猫:
>>> df
A B C
first 62.184209 39.414005 60.716563
second 51.508214 94.354199 16.938342
third 36.081861 39.440953 38.088336
>>> df1
A B C
first 0.828069 0.762570 0.717368
second 0.136098 0.991668 0.547499
third 0.120465 0.546807 0.346949
>>>
Run Code Online (Sandbox Code Playgroud)
我生成的:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random([3, 3])*100,
columns=['A', 'B', 'C'], index=['first', 'second', 'third'])
df1 = pd.DataFrame(np.random.random([3, 3]),
columns=['A', 'B', 'C'], index=['first', 'second', 'third'])
Run Code Online (Sandbox Code Playgroud)
你能找到最聪明,最快捷的方法来获得:
A B C
first 62.184209 39.414005 60.716563
first_s 0.828069 0.762570 0.717368
second 51.508214 94.354199 …Run Code Online (Sandbox Code Playgroud) 我已经编译了一个 .py 文件的 exe,但问题是它是 200mb+ 我想删除无用的包(例如scipy我没有使用)。
我仍然没有清楚 PyInstaller 的正确语法。
让我们从头开始……通常我在 cmd 上做:
cd myFolder
C:\Python27\Scripts\Pyinstaller.exe MyFile.py
Run Code Online (Sandbox Code Playgroud)
它给了我 dist 文件夹中的 exe 文件。
如果我想设置一些配置,哪个是正确的方法?
C:\Python27\Scripts\Pyinstaller.exe MyFile.py Config.py
Run Code Online (Sandbox Code Playgroud)
或者
C:\Python27\Scripts\Pyinstaller.exe Config.py
Run Code Online (Sandbox Code Playgroud)
因为在网上我找到了它们,但我无法区分。
如果这是我尝试运行的最后一个:
lock_cipher = None
a = Analysis(['Main.py'],
pathex=['C:\Users\myname\Desktop\myFolder'],
binaries=None,
datas=None,
hiddenimports=[],
hookspath=None,
runtime_hooks=None,
excludes=None,
cipher=block_cipher)
a.binaries = [x for x in a.binaries if not x[0].startswith("scipy")]
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz)
coll = COLLECT(exe)
Run Code Online (Sandbox Code Playgroud)
但它不起作用。我哪里错了?
我已经看到要在 xlwings 中实现样式请求。
是否有一种解决方法可以使单元格的内容变粗?