我有一个以 15 分钟为间隔的几个月内 EUR/JPY 汇率的绘图图表,因此,没有从周五晚上到周日晚上的数据。
这是部分数据,注意周末索引(类型:DatetimeIndex)中的跳过:

使用上面的数据框绘制这些数据会导致缺失日期的差距:
import plotly.graph_objs as go
candlesticks = go.Candlestick(x=data.index, open=data['Open'], high=data['High'],
low=data['Low'], close=data['Close'])
fig = go.Figure(layout=cf_layout)
fig.add_trace(trace=candlesticks)
fig.show()
Run Code Online (Sandbox Code Playgroud)
输出:
如您所见,缺少日期的位置存在间隙。我在网上找到的一种解决方案是使用以下方法将索引更改为文本:
data.index = data.index.strftime("%d-%m-%Y %H:%M:%S")
Run Code Online (Sandbox Code Playgroud)
并再次绘制它,这确实有效,但它有自己的问题。x 轴标签看起来很糟糕:
我想生成一个图表,该图表绘制的图表类似于第二个图表中没有间隙的图表,但 x 轴的显示方式与第一个图表上的相同。或者至少以更简洁和响应式的格式显示,尽可能接近第一个图形。
预先感谢您的任何帮助!
假设我有一个 PostgreSQL 表,有 5-6 列和几百行。使用 psycopg2 将整个表加载到我的 Python 程序中并使用 Python 选择我想要的行并按照我的意愿对行进行排序会更有效吗?或者使用 SQL 选择所需的行,对它们进行排序,然后仅将这些特定行加载到我的 Python 程序中会更有效吗?
我所说的“有效”是指:
此外,随着表大小的增加,这些因素将如何开始变化?比如说,表现在有几百万行?
在 psycopg2 中使用单个游标来执行针对使用多个游标的所有查询有什么区别。
即,说我这样做:
import psycopg2 as pg2
con = psycopg2.connect(...)
cur = con.cursor()
cur.execute(...)
....
....
cur.execute(...)
...
Run Code Online (Sandbox Code Playgroud)
之后每次我希望执行查询时,我都使用相同的 cursor cur。
或者,每次我想查询我的数据库时,我都可以这样做:
with cur as con.cursor():
cur.execute(...)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,cur每次使用后我的光标都会被删除。
哪种方法更好?一个人比另一个人有优势吗?一个比另一个快吗?更一般地说,为什么甚至需要一个连接的多个游标?