正如其他帖子所暗示的那样,我特别没有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) 我正在尝试使用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 分钟频率的时间序列,并且似乎发生了一些变化。请看看它,如果我遗漏了什么,请告诉我。
我开始玩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 ×3
cython ×1
gremlin ×1
janusgraph ×1
merge ×1
numba ×1
pandas ×1
statsmodels ×1
time-series ×1
tinkerpop ×1