熊猫时间序列-需要基于其他列的多个条件提取行值

韦斯诺

我有以下各列的时间序列数据框。我试图弄清楚:

如果df ['PH'] == 1,那么我需要找到df ['pivot_low_1'] == 1的先前日期,并提取该日期的df ['low']值。因此,对于df ['PH'] == 1的2010-01-12,我需要在2010-01-07上标识先前的非零df ['pivot_low_1'] == 1并获取df ['low '] == 1127.00000。

                  low  pivot_low_1  PH
date                                  
2010-01-04 1114.00000            1   0
2010-01-05 1125.00000            0   0
2010-01-06 1127.25000            0   0
2010-01-07 1127.00000            1   0
2010-01-08 1131.00000            0   0
2010-01-11 1137.75000            0   0
2010-01-12 1127.75000            1   1
2010-01-13 1129.25000            0   0
2010-01-14 1138.25000            0   0
2010-01-15 1127.50000            1   0
2010-01-18 1129.50000            0   0
2010-01-19 1126.25000            0   0
2010-01-20 1125.25000            0   0
2010-01-21 1108.50000            0   0
2010-01-22 1086.25000            1   0
2010-01-25 1089.75000            0   0
2010-01-26 1081.00000            0   0
2010-01-27 1078.50000            0   0
2010-01-28 1074.25000            0   0
2010-01-29 1066.50000            1   1
2010-02-01 1068.00000            0   0
p47hf1nd3r

由于您想要同一数据框中的一列,但输出仅对应于某些行,因此我将每隔一列替换为nan值,

data = pd.read_csv('file.csv')
data.columns=['low', 'pivot_low_1', 'PH']
count = 0
l = list()
new=list()
for index, row in data.iterrows():
    if row['pivot_low_1']==1:
        l.append(count)
    if (row['PH']==1) and (row['pivot_low_1']==1):
        new.append(data.iloc[l[len(l)-2]].low)
    elif (row['PH']==1):
        new.append(data.iloc[l[len(l)-1]].low)
    elif (row['PH']==0):
        new.append(np.nan)
    count+=1
data['new'] = new
data

输出如下图所示,https://imgur.com/a/IqowZHZ,希望对您有所帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫时间序列重新采样+线性调整值

熊猫替换数据帧时间序列中的值

在大熊猫分组之后绘制多个时间序列

每天在熊猫时间序列中查询相同的时间值

用插值法在熊猫上采样时间序列

熊猫时间序列:时间戳列的平均值

识别时间序列数据Python熊猫中的更新值

熊猫将列重塑为时间序列行

具有多个标头的熊猫时间序列数据帧

基于leap年的熊猫时间序列分解

熊猫使用其他不规则时间列表对不规则时间序列进行重新采样和插值

随后如何汇总熊猫时间序列中的值

获取时间戳在不规则的时间间隔内的熊猫行(时间序列)

熊猫:如何创建基于其他列值的条件对其他列求和的列?

每当例如分类熊猫时间序列更改状态时,如何提取时间戳

熊猫以小于x的观测值按时间序列丢弃行

熊猫在时间序列上向数据框添加列

基于其他列值的熊猫条件填充

熊猫:即使缺少值也可以绘制时间序列

如何在熊猫中基于组添加时间序列列?

熊猫将时间序列数据列转换为列表列?

熊猫:将值的时间序列转换为跟踪值的变化

如何使用python从数据帧创建多个熊猫时间序列?

我如何每天重置熊猫时间序列累计值?

熊猫时间序列:如何仅将一天中的时间(无日期)与其他值作图?

计算熊猫时间序列中的连续 nan 值

按列值过滤时间序列熊猫数据框

从熊猫时间序列数据框中删除重复的行

熊猫从时间序列列中获取日期范围