如何在Tableau折线图中获取中间值并统计周期数
折线图中间值获取方案
1. 数值范围中点(基于已得的min/max)
如果要的是y轴数值范围的中间值,直接计算即可:
middle_value = (max_value + min_value) / 2
这个值是现有最小值和最大值的算术平均,对应折线图y轴的中间刻度位置。
2. 时间轴中点对应的数值
如果是要找时间序列中间时刻的数值,按以下步骤操作:
- 先计算时间范围的中间点:
# 假设你的时间列是dt_col,数值列是value_col min_dt = df['dt_col'].min() max_dt = df['dt_col'].max() middle_dt = min_dt + (max_dt - min_dt) / 2 - 再匹配该时间点的对应数值:
- 若该时间点在数据中直接存在,直接查找:
middle_value = df[df['dt_col'] == middle_dt]['value_col'].iloc[0] - 若时间点不存在,用线性插值补全:
df_sorted = df.set_index('dt_col').sort_index() middle_value = df_sorted['value_col'].interpolate(method='linear').loc[middle_dt]
- 若该时间点在数据中直接存在,直接查找:
周期数统计补充提示
既然你最终要统计折线图的周期数,拿到中间值后,可以通过统计数值穿越中间值的次数计算:每完成一次完整的上下穿越(从低于中间值到高于,再回到低于)算一个周期,总穿越次数除以2即可得到周期数。
内容的提问来源于stack exchange,提问作者jan nag
相关产品推荐
相关产品推荐

