我正在尝试加入Pandas中的两个数据帧。
第一帧称为Trades并具有以下列:
TRADE DATE
ACCOUNT
COMPANY
COST CENTER
CURRENCY
第二帧称为Company_Mapping,并包含以下列:
ACTUAL_COMPANY_ID
MAPPED_COMPANY_ID
我正在尝试使用此代码加入他们:
trade_df = pd.merge(left=Trades, right = Company_Mapping, how = 'left', left_on = 'COMPANY', right_on = 'ACTUAL_COMPANY_ID'
返回:
KeyError: 'COMPANY'
我已经仔细检查了拼写,并且公司显然是在交易中,我不知道是什么原因造成的。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
您的Trades
数据框只有一列,所有预期的列名都被拼凑成一个字符串。检查解析文件的代码。
答案 1 :(得分:0)
如果没有这样的列名,例如在您键入df.loc[df['one']==10]
但列名“一个不存在”(无论是否存在,并且仍然存在相同的错误尝试)中,大熊猫python中就会显示keyError。 try andexcept语句使用try andexcept语句解决了我的问题。
例如
try:
df_new = df.loc[df['one']==10]
except KeyError:
print('No KeyError')