小编Deb*_*har的帖子

改善Pandas Merge性能

正如其他帖子所暗示的那样,我特别没有Pands Merge的性能问题,但我有一个类,其中有很多方法,它们在数据集上进行了大量的合并.

该班有大约10个小组和大约15个合并.虽然groupby相当快,但是对于类的总执行时间为1.5秒,在这15次合并调用中大约需要0.7秒.

我想加快那些合并调用的性能.因为我将有大约4000次迭代,因此在单次迭代中总共节省0.5秒将导致整体性能降低大约30分钟,这将是很好的.

我应该尝试任何建议吗?我试过:Cython Numba,Numba比较慢.

谢谢

编辑1:添加示例代码片段:我的合并语句:

tmpDf = pd.merge(self.data, t1, on='APPT_NBR', how='left')
tmp = tmpDf

tmpDf = pd.merge(tmp, t2, on='APPT_NBR', how='left')
tmp = tmpDf

tmpDf = pd.merge(tmp, t3, on='APPT_NBR', how='left')
tmp = tmpDf

tmpDf = pd.merge(tmp, t4, on='APPT_NBR', how='left')
tmp = tmpDf

tmpDf = pd.merge(tmp, t5, on='APPT_NBR', how='left')
Run Code Online (Sandbox Code Playgroud)

并且,通过实现连接,我合并了以下声明:

dat = self.data.set_index('APPT_NBR')

t1.set_index('APPT_NBR', inplace=True)
t2.set_index('APPT_NBR', inplace=True)
t3.set_index('APPT_NBR', inplace=True)
t4.set_index('APPT_NBR', inplace=True)
t5.set_index('APPT_NBR', inplace=True)

tmpDf = dat.join(t1, how='left')
tmpDf = tmpDf.join(t2, how='left')
tmpDf = tmpDf.join(t3, how='left')
tmpDf = tmpDf.join(t4, how='left') …
Run Code Online (Sandbox Code Playgroud)

python merge cython pandas numba

10
推荐指数
3
解决办法
2万
查看次数

ValueError: freq T 不理解。如果您认为这是错误的,请报告。(季节性分解)

我正在尝试使用seasonal_decompose 来分解我的时间序列。数据是完美的时间序列,频率为“2T”,即 2 分钟。在文件 tsatools.py (site-pkgs\statsmodels\tsa\tsatools.py) 的第 655 行中,我添加了以下内容。_ elif freq == 'T': return 6024752_ 我从以下推论中添加了这一点: Freq A 表示 1 年,因此返回 1。Q 表示每季度一次,因此返回 4 M 表示每月一次,因此返回 12,依此类推。因此,T 表示每分钟,因此 60247*365

当我执行上述操作时,出现以下错误:ValueError: Inferred frequency of index and frequency 不匹配。此函数不会从 season.py (statsmodel\tsa\seasonal.py) 中的第 70 行重新采样,因为:变量 freq 是:<2 * Minutes> 变量 pfreq 是 2T 524160。

我的意思是季节性分解应该能够分解 1 分钟频率的时间序列,并且似乎发生了一些变化。请看看它,如果我遗漏了什么,请告诉我。

python time-series statsmodels

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

Gremlin Python返回空图

我开始玩gremlin-python包装器来与我的gremlin服务器进行交互.

我做了以下步骤:

./bin/gremlin.sh
Run Code Online (Sandbox Code Playgroud)

一旦Gremlin控制台打开,我使用以下命令加载配置:

graph = JanusGraphFactory.open('conf/gremlin-server/janusgraph-cassandra-es.properties')
g = graph.traversal()
saturn = g.V().has('name', 'saturn')
Run Code Online (Sandbox Code Playgroud)

gremlin shell中的上面一组代码工作得很好,我可以看到列出的脊椎,但是当我尝试在python中做同样的事情时,我得到一个空图.以下是我的python代码:

graph = Graph()
g = graph.traversal().withRemote(DriverRemoteConnection('ws://localhost:8182/gremlin','g'))
print(g)
Run Code Online (Sandbox Code Playgroud)

它返回: graphtraversalsource [graph [empty]]

为什么我得到空图?据我所知,它无法连接到相同的Graph源.有什么我想念的吗?

请注意:

JanusGraphFactory.open('conf/gremlin-server/janusgraph-cassandra-es.properties')
Run Code Online (Sandbox Code Playgroud)

提供的配置文件名是用于启动gremlin服务器的文件名.

任何帮助都非常感谢.

谢谢

python gremlin tinkerpop gremlin-server janusgraph

3
推荐指数
2
解决办法
2388
查看次数