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

junyu_sun
  • 5
新手上路,请多包涵

我将符合条件的索引值赋值给了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 
回复
阅读 560
1 个回答
✓ 已被采纳
df['expected'] = df['A'].map(df['price'])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏