如何使用熊猫中的 vlookup 功能来计算这一点?



嗯,我在熊猫中有一个数据帧(main-df(,我有交易信号和日期时间作为我的索引。 我还有 20 个 excel 文件,我需要从中找到相应的日期时间并在 main-df 中获取收盘价。 我如何转到每个 excel 文件并检查日期时间是否匹配,然后返回收盘价。

这应该为你指明正确的方向。

from pathlib import Path
import pandas as pd
excels = [pd.read_excel(f,sheet_name='your_sheet') for f in 
Path(r'dir/to/excels').glob('*.xlsx')]
# concat df.
df = pd.concat(excels)
# clean df.
# merge main_df
merged_df = pd.merge(df,main_df,on='date_time_column',how='inner')
#or if common date time is in index. 
merge_df = pd.merge(df,main_df,left_index=True,right_index=True,how='inner')

或者我们可以使用isin

dates_ = main_df['datetime_col'].tolist()
df_new = df.loc[df['datetime_col'].isin(dates_)]

相关内容