gpt4 book ai didi

python - 如何使用 pandas 获取时间戳计算

转载 作者:太空宇宙 更新时间:2023-11-03 20:56:49 30 4
gpt4 key购买 nike

我想找出价格在哪个时间段较低和较高的百分比。

数据看起来像这样

    Last    Timestampvalue  

2 3071.56 1547986549
3 3097.82 1547986666
4 3097.82 1547986675
5 3095.25 1547986737
6 3087.42 1547986798
7 3095.29 1547986854
8 3095.25 1547986918
9 3093.11 1547986975
10 3103 1547987034
11 3095 1547987096
12 3100.6 1547987157
13 3099.84 1547987218
14 3098.77 1547987277
15 3097.24 1547987340
16 3090 1547987397
17 3090 1547987457

预期

    Last    Timestampvalue   pct_Max

2 3071.56 1547986549
3 3097.82 1547986666
4 3097.82 1547986675
5 3095.25 1547986737
6 3087.42 1547986798
7 3095.29 1547986854
8 3095.25 1547986918
9 3093.11 1547986975
10 3103 1547987034
11 3095 1547987096
12 3100.6 1547987157
13 3099.84 1547987218
14 3098.77 1547987277
15 3097.24 1547987340
16 3090 1547987397
17 3090 1547987457 0.5341
18 3098 1547987519 0.5

我期望的逻辑如下,

(1547987034-1547986549)/(1547987457-1547986549) = 0.5341(1547987034-1547986549)/(1547987519-1547986549) = 0.5

这是最大值(3103)出现在第10行,这里的时间戳是1547987034,然后我用第2行的时间戳(1547986549)减去它,然后除以第17行出现的第15分钟时间戳,所以时间戳这里是 1547987457 并用第 2 行的时间戳减去它。

我知道在 Excel 中计算这个值,但在 pandas 中我试图找出 15 分钟时最大的值,并且不确定如何获取它的时间戳,而且它也需要进行类型分割。

for v in df['Type'].unique():
mask = df['Type'].eq(v)
df.loc[mask, f'Prev15minMax_{v}'] = (df.loc[mask,'Last']
.rolling('15min',min_periods=15)
.max())

类型列看起来像 this

最佳答案

这是您的计算元素(分解):

max_Last = df1.loc[df1['Last'] == df1['Last'].max(),'Timestampvalue']
max_ts = df1['Timestampvalue'].max()
min_ts = df1['Timestampvalue'].min()
cpt = (max_Last - min_ts) / (max_ts - min_ts)

以下是获取指定列的方法:

df1['pct_Max'] = ''
df1.loc[df1['Timestampvalue'] == df1['Timestampvalue'].max(),'pct_Max'] = cpt

关于python - 如何使用 pandas 获取时间戳计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55969511/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com