我有一个以下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
中正确列和行的乘积 - 在给定日期获得正确的股票价格,让其他日期在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
有没有更好的pythonic方法来实现这一点,而不是写这个循环?