如何将普通数据框转换为烛台数据框?
How to covert a normal data frame into candlestick dataframe?
fig = go.Figure()
fig.add_trace(
go.Scatter(x=alldates, y=countriesData[0]["ToxPi Score"],
name="Suffolk",customdata=countriesData[0],hovertemplate=common_template)
)
fig.update_xaxes(
rangeslider_visible=True,
rangeselector=dict(
buttons=list([
dict(count=1, label="1m", step="month", stepmode="backward"),
dict(count=6, label="6m", step="month", stepmode="backward"),
dict(count=1, label="YTD", step="year", stepmode="todate"),
dict(count=1, label="1y", step="year", stepmode="backward"),
dict(step="all")
])
)
)
fig.show()
我的数据框看起来像这样
我正在处理一个简单的数据集,其中我根据日期绘制了一个州的 ToxPi 分数。
现在我需要根据给定的方向将这些数据绘制成烛台格式
Open value: ToxPi value at the first day in a given range of 7 days.
Close value: ToxPi value at the last (7th) day in a given range of 7
days.
High value: The highest ToxPi value in a given range of 7 days.
Low value: The lowest ToxPi value in a given range of 7 days.
我不知道如何隐藏它或将数据分成每周格式
EDIT
更新 df 中的日期时间列后,它看起来像这样
请帮忙
提前致谢。
虽然我不是很清楚“给定的7天范围”是什么意思,但我的猜测是应该使用7天的滚动计算来计算开盘价、最高价、最低价和收盘价,并且您的数据有 1 天的粒度。
我不确定您的 countriesData[0]
是否有日期时间列,因此我们将使用您传递给 go.Scatter
:
的 alldates
数组
df = countriesData[0].copy()
df["date_time"] = alldates
df["date_time"] = pd.to_datetime(df["date_time"])
df = df.set_index("date_time")
## create your features Open, Close, High, Low:
df["Open"] = df["ToxPi Score"].rolling("7D").apply(lambda row: row.iloc[0])
df["Close"] = df["ToxPi Score"].rolling("7D").apply(lambda row: row.iloc[-1])
df["High"] = df["ToxPi Score"].rolling("7D").max()
df["Low"] = df["ToxPi Score"].rolling("7D").max()
然后您可以使用修改后的 DataFrame 构建烛台图:
fig = go.Figure(data=[go.Candlestick(
x=df.index,
open=df["Open"],
high=df["High"],
low=df["Low"],
close=df["Close"]
)])
fig = go.Figure()
fig.add_trace(
go.Scatter(x=alldates, y=countriesData[0]["ToxPi Score"],
name="Suffolk",customdata=countriesData[0],hovertemplate=common_template)
)
fig.update_xaxes(
rangeslider_visible=True,
rangeselector=dict(
buttons=list([
dict(count=1, label="1m", step="month", stepmode="backward"),
dict(count=6, label="6m", step="month", stepmode="backward"),
dict(count=1, label="YTD", step="year", stepmode="todate"),
dict(count=1, label="1y", step="year", stepmode="backward"),
dict(step="all")
])
)
)
fig.show()
我的数据框看起来像这样
我正在处理一个简单的数据集,其中我根据日期绘制了一个州的 ToxPi 分数。
现在我需要根据给定的方向将这些数据绘制成烛台格式
Open value: ToxPi value at the first day in a given range of 7 days. Close value: ToxPi value at the last (7th) day in a given range of 7 days. High value: The highest ToxPi value in a given range of 7 days. Low value: The lowest ToxPi value in a given range of 7 days.
我不知道如何隐藏它或将数据分成每周格式
EDIT
更新 df 中的日期时间列后,它看起来像这样
请帮忙 提前致谢。
虽然我不是很清楚“给定的7天范围”是什么意思,但我的猜测是应该使用7天的滚动计算来计算开盘价、最高价、最低价和收盘价,并且您的数据有 1 天的粒度。
我不确定您的 countriesData[0]
是否有日期时间列,因此我们将使用您传递给 go.Scatter
:
alldates
数组
df = countriesData[0].copy()
df["date_time"] = alldates
df["date_time"] = pd.to_datetime(df["date_time"])
df = df.set_index("date_time")
## create your features Open, Close, High, Low:
df["Open"] = df["ToxPi Score"].rolling("7D").apply(lambda row: row.iloc[0])
df["Close"] = df["ToxPi Score"].rolling("7D").apply(lambda row: row.iloc[-1])
df["High"] = df["ToxPi Score"].rolling("7D").max()
df["Low"] = df["ToxPi Score"].rolling("7D").max()
然后您可以使用修改后的 DataFrame 构建烛台图:
fig = go.Figure(data=[go.Candlestick(
x=df.index,
open=df["Open"],
high=df["High"],
low=df["Low"],
close=df["Close"]
)])