Python 使用尝试合并两个csv列时验证合并键错误?
我对编码非常陌生。 我正在尝试合并“FIPS”列上的两个.csv文件,其中包含一个四位或五位数字(例如1001或54780),并不断收到一个我无法理解的冗长错误 这是密码Python 使用尝试合并两个csv列时验证合并键错误?,python,pandas,dataframe,Python,Pandas,Dataframe,我对编码非常陌生。 我正在尝试合并“FIPS”列上的两个.csv文件,其中包含一个四位或五位数字(例如1001或54780),并不断收到一个我无法理解的冗长错误 这是密码 import pandas as pd a = pd.read_csv(r"C:\Users\RSHAR\Documents\Research Project\MortAC2006\MULT2006.USPSAllCnty\MULT2006.USAllCnty.csv", header=None, use
import pandas as pd
a = pd.read_csv(r"C:\Users\RSHAR\Documents\Research Project\MortAC2006\MULT2006.USPSAllCnty\MULT2006.USAllCnty.csv", header=None, usecols=[0], names=['col']).drop_duplicates()
b = pd.read_csv(r"C:\Users\RSHAR\Documents\Research Project\MortAC2006\MULT2006.USPSAllCnty\EQI MATCH.csv", header=None, usecols=[0], names=['col']).drop_duplicates()
# A - B
pd.merge(A, B, on='FIPS', how='left', indicator=True).query("_merge == 'left_only'")
这是我的错误
KeyError Traceback (most recent call last)
<ipython-input-16-e1fef2814734> in <module>
4 b = pd.read_csv(r"C:\Users\RSHAR\Documents\Research Project\MortAC2006\MULT2006.USPSAllCnty\EQI MATCH.csv", header=None, usecols=[0], names=['col']).drop_duplicates()
5 # A - B
----> 6 pd.merge(A, B, on='FIPS', how='left', indicator=True).query("_merge == 'left_only'")
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\reshape\merge.py in merge(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)
84 copy=copy,
85 indicator=indicator,
---> 86 validate=validate,
87 )
88 return op.get_result()
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\reshape\merge.py in __init__(self, left, right, how, on, left_on, right_on, axis, left_index, right_index, sort, suffixes, copy, indicator, validate)
625 self.right_join_keys,
626 self.join_names,
--> 627 ) = self._get_merge_keys()
628
629 # validate the merge keys dtypes. We may need to coerce
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\reshape\merge.py in _get_merge_keys(self)
981 if not is_rkey(rk):
982 if rk is not None:
--> 983 right_keys.append(right._get_label_or_level_values(rk))
984 else:
985 # work-around for merge_asof(right_index=True)
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\generic.py in _get_label_or_level_values(self, key, axis)
1690 values = self.axes[axis].get_level_values(key)._values
1691 else:
-> 1692 raise KeyError(key)
1693
1694 # Check for duplicates
KeyError: 'FIPS'
keyrerror回溯(最近一次调用)
在里面
4 b=pd.read_csv(r“C:\Users\RSHAR\Documents\Research Project\MortAC2006\MULT2006.USPSAllCnty\EQI MATCH.csv),header=None,usecols=[0],name=['col'])。删除重复项()
5#A-B
---->6 pd.merge(A,B,on='FIPS',how='left',indicator=True)。查询('u merge==''left'only'))
C:\ProgramData\Anaconda3\lib\site packages\pandas\core\reforme\merge.py in merge(左、右、如何、开、左、右、左索引、右索引、排序、后缀、复制、指示器、验证)
84复制=复制,
85指标=指标,
--->86验证=验证,
87 )
88返回操作获取结果()
C:\ProgramData\Anaconda3\lib\site packages\pandas\core\reforme\merge.py in\uuuuuuu init\uuuuu(self、left、right、how、on、left\u on、right\u on、axis、left\u index、right\u index、sort、后缀、copy、indicator、validate)
625自动右键连接键,
626个自连接名称,
-->627)=self.\u获取\u合并\u密钥()
628
629#验证合并键数据类型。我们可能需要强制
C:\ProgramData\Anaconda3\lib\site packages\pandas\core\reformate\merge.py in\u get\u merge\u keys(self)
981如果不是rkey(rk):
982如果rk不是无:
-->983右键。追加(右。获取标签值或级别值(rk))
984其他:
985#解决合并asof(右#索引=真)
C:\ProgramData\Anaconda3\lib\site packages\pandas\core\generic.py in\u get\u label\u或\u level\u值(self、key、axis)
1690 values=self.axes[axis]。获取\u级别\u值(键)。\u值
1691其他:
->1692升起钥匙错误(钥匙)
1693
1694#检查有无重复
KeyError:“FIPS”
FIPS
不在列列表中。可能是class='col'上的?