gpt4 book ai didi

python - 具有对数采样时间间隔的 Pandas 数据帧插值

转载 作者:行者123 更新时间:2023-12-05 07:00:52 27 4
gpt4 key购买 nike

我有一个 pandas 数据框,其中包含以分钟为单位的“时间”列和从数据记录器中提取的“值”列。数据以对数时间间隔记录,这意味着第一个值以小数分钟记录,然后随着时间的推移时间间隔变长:

print(df)
Minutes Value
0 0.001 0.00100
1 0.005 0.04495
2 0.010 0.04495
3 0.015 0.09085
4 0.020 0.11368
.. ... ...
561 4275.150 269.17782
562 4285.150 266.90964
563 4295.150 268.35306
564 4305.150 269.42984
565 4315.150 268.37594

我想在 0 到 4315 分钟之间以一分钟的间隔线性插入“值”。

我尝试了几次不同的 df.interpolate() 迭代,但没有成功。有人可以帮帮我吗?谢谢

最佳答案

我认为我的问题可能非常基础,或者我提出了一个令人困惑的问题。不管怎样,我只是写了一个小循环来解决我的问题,我觉得我应该分享它。我确信这不是完成我所要求的最有效方法,希望有人可以提出更好的方法来完成此任务。我对这整件事还是很陌生。

首先是一些合格的东西:

  1. 我所说的“值”数据称为“水位下降”,它指的是水井内水位与初始起始水位的差异。它从 0 开始。

  2. 这种数据通常在半对数图中查看,有时更容易用非常小的数字(即 0.0001)代替 0,以便在其他程序中轻松绘制。

此代码采用列名为“分钟”和“缩减”的 .csv 文件,并将时间值与从 0 到数据集末尾的分钟的新引用数据帧进行比较。它引用列表中与所需时间值最接近的 2 个时间值,并对这些值进行加权平均,然后创建一个包含回撤的整数分钟的新 csv。

干杯!

# -*- coding: utf-8 -*-
"""
Created on Tue Sep 22 13:42:29 2020

@author: cmeyer
"""

import pandas as pd
import numpy as np

df=pd.read_csv('Read_in.csv')
length=len(df)-1
last=df.at[length,'Drawdown']
lengthpump=int(df.at[length,'Minutes'])
minutes=np.arange(0,lengthpump,1)
dfminutes=pd.DataFrame(minutes)
dfminutes.columns = ['Minutes']
for i in range(1, lengthpump, 1):

non_uni_minutes=df['Minutes']
uni_minutes=dfminutes.at[i,'Minutes']

close1=non_uni_minutes[np.argsort(np.abs(non_uni_minutes-uni_minutes))[0]]
close2=non_uni_minutes[np.argsort(np.abs(non_uni_minutes-uni_minutes))[1]]

index1 = np.where(non_uni_minutes == close1)
index1 = int(index1[0])
index2 = np.where(non_uni_minutes == close2)
index2 = int(index2[0])

num1=df.at[index1,'Drawdown']
num2=df.at[index2,'Drawdown']

weight1 = 1-abs((i-close1)/i)
weight2 = 1-abs((i-close2)/i)

Value = (weight1*num1+weight2*num2)/(weight1+weight2)

dfminutes.at[i,'Drawdown'] = Value
dfminutes.at[0,'Drawdown'] = 0.000001
dfminutes.at[0,'Minutes'] = 0.000001
dfminutes.to_csv('integer_minutes_drawdown.csv')

关于python - 具有对数采样时间间隔的 Pandas 数据帧插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64021217/

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