Python/Pandas:在一个数据帧中搜索日期,并在另一个具有匹配日期的数据帧的列中返回值



我有两个数据帧,一个是上市前/上市后的盈利日期和代码,另一个是每日OHLC数据。第一个数据帧df:

earnDate anncTod
103 2015-11-18 0900
104 2016-02-24 0900
105 2016-05-18 0900
128 2022-03-01 0900
129 2022-05-18 0900
130 2022-08-17 0900

要使用loc访问某一行,假设您搜索的标签在索引中。具体来说,这意味着您需要将日期列设置为索引。例如:

import pandas as pd
df = pd.DataFrame({'earnDate': ['2015-11-18', '2015-11-19', '2015-11-20'],
'anncTod': ['0900', '1000', '0800'],
'Open': [111, 222, 333]})
df = df.set_index(df["earnDate"])
for date in df['earnDate']:
if df.loc[date, 'anncTod'] == '0900':
print(df.loc[date, 'Open'])
# prints
# 111

最新更新