功能spicy.signal.spectrogram:https
: //docs.scipy.org/doc/scipy/reference/generated/scipy.signal.spectrogram.html
和spicy.signal.stft:https : //docs.scipy.org/doc/scipy/reference/generated/scipy。 signal.stft.html
似乎做了一个非常相似的事情。
这两个函数有什么区别?
的相反函数是什么utcfromtimestamp()?
timestamp()显然没有考虑时区,如以下示例所示:
import pandas as pd
import datetime
start = pd.datetime(2000, 1, 1, 0, 0, 0)
asFloat = start.timestamp()
startDifferent = datetime.datetime.utcfromtimestamp(asFloat)
startDifferent
Out[8]: datetime.datetime(1999, 12, 31, 23, 0)
Run Code Online (Sandbox Code Playgroud) 我有一份使用该multiprocessing包并通过以下方式调用函数的工作
resultList = pool.map(myFunction, myListOfInputParameters)。
输入参数列表中的每个条目都是独立于其他条目的。
这项工作将运行几个小时。出于安全原因,我想存储定期的结果,例如每小时一次。
当作业被中止并且我想根据最后一个可用备份重新启动它时,我该如何执行此操作并能够继续处理?
对于使用下面的代码生成的图,我想通过 Pandas 逻辑生成一个信号。
当曲线比上一个局部最小值高(或更多)+3 个点时,输出信号应从 -4 变为 -2。当曲线比上一个局部最大值低(或少)2 个点时,它应该从 -2 变回 -4。
图 1 显示了由以下代码生成的曲线。图 2 大致显示了输出信号的外观。
编码:
import matplotlib
matplotlib.use('QT5Agg')
import matplotlib.pyplot as plt
import numpy as np
a = np.arange(5)
b = np.arange(5, -4, -1)
c = np.arange(-4, 7, .5)
d = np.arange(7, 2, -1)
e = np.arange(2, 6, .2)
f = np.arange(6, -3, -1)
g = np.arange(-3, 2, .25)
r1 = np.append(a, b)
r2 = np.append(r1, c)
r3 = np.append(r2, d)
r4 = …Run Code Online (Sandbox Code Playgroud) 我想很好地显示/打印我的 sqlalchemy 课程。
在有没有办法__str__()在 python 中自动生成实现?
答案您可以使用 vars, dir, ...:... 来迭代实例属性,这在简单类的情况下会有所帮助。
当我尝试将它应用于一个Sqlalchemy类时(就像
Python 的 SQLAlchemy 的介绍性教程中的那个- 见下文),我得到 - 除了成员变量之外,还有以下条目作为成员变量:
_sa_instance_state=<sqlalchemy.orm.state.InstanceState object at 0x000000004CEBCC0>
如何避免此条目出现在__str__表示中?
为了完整起见,我也将链接的stackoverflow问题的解决方案放在下面。
import os
import sys
from sqlalchemy import Column, ForeignKey, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy import create_engine
Base = declarative_base()
class Person(Base):
__tablename__ = 'person'
# Here we define columns for the table person
# Notice that each column …Run Code Online (Sandbox Code Playgroud) 使用以下代码,在转换回 np.datetime64 后,我得到了两个小时的差异。
我怎样才能避免这种情况?(如果这应该成为一个主题:我目前在中欧)
import pandas as pd
import numpy as np
import datetime
a = np.datetime64('2018-04-01T15:30:00').astype("float")
a
b = np.datetime64(datetime.datetime.fromtimestamp(a))
b
Out[18]: numpy.datetime64('2018-04-01T17:30:00.000000')
Run Code Online (Sandbox Code Playgroud) import pandas as pd
import numpy as np
df = pd.DataFrame({"a": [7, 2, 3], "b": [4, 5, 6], "c": [100, np.nan, np.NaN]})
df
Out[11]:
a b c
0 7 4 100.0
1 2 5 NaN
2 3 6 NaN
Run Code Online (Sandbox Code Playgroud)
对于上面的Python pandas DataFrame,我想对行号为零:计算列a和之间的差异b.其结果应添加到列的内容中c并存储在(新)列中d.
对于第一行,在第一步中,行0 /列的内容d应存储在列中c.之后应该应用与之前的行0相同的算法.
执行此操作后,生成的DataFrame将如下所示:
a b c d
0 7 4 100.0 103.
1 2 5 103.0 100.
2 3 6 100.0 97.
Run Code Online (Sandbox Code Playgroud)
实际上,数据帧比这个小例子有更多的行.因此,快速的计算速度非常重要.
计算这个新数据帧的解决方案怎么样?
在 Ubuntu 14.04 上,我使用 Pycharm 专业版。当我启动调试会话时,我在 Pycharm 的事件日志中看到以下消息:
Python 调试器扩展可用
Cython 扩展加速 Python 调试
单击将Install出现一个弹出窗口,其中包含错误消息:
我也在这里描绘了文本,以便其他人更容易找到:
编译 Cython 扩展错误
非零退出代码 (1):
无法执行“gcc”:没有这样的文件或目录
错误:命令“gcc”失败,退出状态为 1
寻找解决方案:
我根据上面提到的链接手动编译了Cython speedups /usr/bin/python3 /<PYCHARM_INSTALLATION_PATH>/helpers/pydev/setup_cython.py build_ext --inplace:。这成功完成,但对错误消息没有帮助。
我添加了 python-3.6-dev 存储库:
sudo add-apt-repository ppa:deadsnakes/ppa,执行:sudo apt-get update && sudo apt-get dist-upgrade
并安装了 python-3.6-dev:sudo apt-get install python3.6-dev
它成功完成,但不会更改上面弹出的错误消息。
我还可以检查或执行什么?
编辑 有关 gcc 的安装,如下所示:
user@user-computer:~$ gcc
The program 'gcc' is currently not installed. You can install it by typing:
sudo apt-get install …Run Code Online (Sandbox Code Playgroud) 对于系列
t = [0.1, 1, 2, 3, 0, 1, 2, 3, 4, 5, 0.9, 1, 2]
s = pd.Series(t)
Run Code Online (Sandbox Code Playgroud)
我想获得位置n(和值),其中s.iloc[n]s每次从其最大值返回最小值都为最小值。
所以我想得到这个例子的结果:
position value
0 0.1
4 0
10 0.9
Run Code Online (Sandbox Code Playgroud)
我想有一个基于熊猫的解决方案,因为这个问题只是我要解决的另一个问题的输入。在这种情况下,数据量确实很大。
python ×9
pandas ×3
numpy ×2
boilerplate ×1
cython ×1
datetime ×1
group-by ×1
pycharm ×1
scipy ×1
sqlalchemy ×1