2 回答
TA贡献1777条经验 获得超3个赞
主要问题是您的子设置方法。使用 .loc 函数进行子设置。您将获得新的数据框作为数据框而不是系列。然后使用 .join 函数以及 ls 和 rs 后缀。
dow=pd.read_csv("dow.csv",index_col="Date")
sensex=pd.read_csv("sensex.csv",index_col="Date")
dow_close=dow.loc[:,["Close"]]
sensex_close=sensex.loc[:,["Close"]]
dow_close.index=pd.to_datetime(dow_close.index)
sensex_close.index=pd.to_datetime(sensex_close.index)
dow_sensex_close = dow_close.join(sensex_close,how='inner',lsuffix='_dow', rsuffix='_sensex')
dow_sensex_close.head()
TA贡献1843条经验 获得超7个赞
当您调用join时,其他对象可以是Series,但 self对象必须只是一个DataFrame。
所以第一个更正是运行:
dow_close.to_frame().join(sensex_close, ...)
但这还不够,因为您有重叠的列。为避免另一个异常(列重叠但未指定后缀),您必须至少指定lsuffix和rsuffix 之一。
我的建议是指定它们:
dow_sensex_close = dow_close.to_frame().join(sensex_close,
how='inner', lsuffix='_dow', rsuffix='_sensex')
添加回答
举报