У меня есть ниже df1
:
Date Tickers Qty
01-01-2018 ABC 25
02-01-2018 BCD 25
02-01-2018 XYZ 31
05-01-2018 XYZ 25
и еще один df2
, как показано ниже
Date ABC BCD XYZ
01-01-2018 123 5 78
02-01-2018 125 7 79
03-01-2018 127 6 81
04-01-2018 126 7 82
05-01-2018 124 6 83
Я хочу результирующий столбец в df1
, который является продуктомправильного столбца и строки в df2
- получить правильную ставку тикера на данную дату и позволить другим датам иметь nan в пределах df1
Date df1['Product']
01-01-2018 3075
02-01-2018 175
02-01-2018 2449
03-01-2018 nan
04-01-2018 nan
05-01-2018 2075
Это похоже на стандартную операцию на Python, но я простоя не могу достичь этого без написания цикла - выполнение которого занимает очень много времени:
Я объединил две вышеупомянутые таблицы на Date
, а затем запустил цикл ниже
for i in range(len(df1)):
try:
df1['Product'][i] = df1[df1['Ticker'][i]][i]
except ValueError:
df['Product'][i] = np.nan
Есть ли лучший питонный способ достижения этого и не писать этот цикл, пожалуйста?