所以我有以下几种情况:
import pandas as pd
import numpy as np
df_data = {'CODE' : ['111', '222', '333', '444'],
'A' : ['2017/01/01', '2017/01/02', '', ''],
'B' : ['', '2017/01/02', '', '2017/01/30'],
'C' : ['', '2017/01/12', '', '2017/02/02'],
'PRICE_A' : [10, 10, np.nan, np.nan],
'PRICE_B': [np.nan, 8, np.nan, 9],
'PRICE_C': [np.nan, 19, np.nan, 16]}
df = pd.DataFrame(df_data)
df.A = pd.to_datetime(df.A)
df.B = pd.to_datetime(df.B)
df.C = pd.to_datetime(df.C)
df
每列都会告诉我“代码”项目已达到的状态,当然,当日期填充插槽时会达到状态。每个状态对应一个价格值,打印在PRICE_A,PRICE_B,PRICE_C对应列中。
我想要做的是添加一个新列,列出每行当前达到的状态价格:
这很容易将我的列开箱即用并编写迭代数组的函数,但我确信有更好的方法可以通过Pandas实现这一点。
我想知道是否有人可以提出更明智的答案来解决这个问题。