如何将列中的值作为索引去取值

如何将列中的值作为索引去取值

我将符合条件的索引值赋值给了A,现在要根据A的值作为索引取得price的值,然后赋值给expected列,但我不知道该怎么调用

源数据

import pandas as pd

import numpy as np

d={'trade_date':['2021-08-10','2021-08-11','2021-08-12','2021-08-13','2021-08-14','2021-08-15','2021-08-16','2021-08-17','2021-08-18','2021-08-19','2021-08-20',],'price':[2,12,8,10,11,18,7,19,9,8,12],'cond':[True,False,True,False,True,False,True,False,True,True,True]}

df = pd.DataFrame(d)

df.index=pd.to_datetime(df.trade_date)

df['A']=df.index.where(df['cond'])

df['A']=df['A'].ffill()

df.to_clipboard()

df

如何计算expected的值

trade_date price   cond    A   expected

2021/8/10 2 TRUE 2021/8/10 2

2021/8/11 12 FALSE 2021/8/10 2

2021/8/12 8 TRUE 2021/8/12 8

2021/8/13 10 FALSE 2021/8/12 8

2021/8/14 11 TRUE 2021/8/14 11

2021/8/15 18 FALSE 2021/8/14 11

2021/8/16 7 TRUE 2021/8/16 7

2021/8/17 19 FALSE 2021/8/16 7

2021/8/18 9 TRUE 2021/8/18 9

2021/8/19 8 TRUE 2021/8/19 8

2021/8/20 12 TRUE 2021/8/20 12


回答:

df['expected'] = df['A'].map(df['price'])

以上是 如何将列中的值作为索引去取值 的全部内容, 来源链接: utcz.com/p/938526.html

回到顶部