2 回答

TA貢獻1777條經(jīng)驗 獲得超3個贊
主要問題是您的子設置方法。使用 .loc 函數(shù)進行子設置。您將獲得新的數(shù)據(jù)框作為數(shù)據(jù)框而不是系列。然后使用 .join 函數(shù)以及 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條經(jīng)驗 獲得超7個贊
當您調(diào)用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')
添加回答
舉報