我正在尝试连接两个数据帧但是在合并两个数据帧之后,我从一个DataFrames(Master)获取所有列的NaN,但列标题在那里。
以下是每个数据帧的结构
b.columns
Index(['Date', 'Ticker', 'Price'], dtype='object')
Master.columns
Index(['Ticker', 'Date', 'Previous Quarter', 'No. Of Shares', 'Action'], dtype='object')
b.dtypes
Date datetime64[ns]
Ticker object
Price float64
dtype: object
Master.dtypes
Ticker object
Date datetime64[ns]
Previous Quarter int64
No. Of Shares int64
Action object
dtype: object
我试过了:
M1 = pd.merge(left=b,right=Master, how ='left', left_on=['Date', 'Ticker'], right_on=['Date', 'Ticker'])
答案 0 :(得分:0)
这可能是预期的行为。
您已指定how = 'left'
,这意味着您仅从左侧数据框中查找键组合。如果在正确的数据帧中没有精确的(!)键匹配,那么您将在连接表中获得NaN。您可以找到有关此参数here的更多信息。
我怀疑你的关键栏中没有完全匹配的内容?
另外,如果您指定left_on
和right_on
相同,那么您也可以只指定on
。