Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用尝试合并两个csv列时验证合并键错误?_Python_Pandas_Dataframe - Fatal编程技术网

Python 使用尝试合并两个csv列时验证合并键错误?

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

我对编码非常陌生。 我正在尝试合并“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, 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'上的