如何在Python中执行等效的Excel索引匹配
我有一个问题,关于如何执行使用Excel中的索引匹配函数返回值并在Python中应用它的等效操作 作为一个在大型数据集上执行数据分析和操作的Excel用户,为了提高效率,我已经转向Python。我试图做的是根据从存储在字典中的值返回的值填充pandas数据帧中的列单元格 为此,我使用了以下代码:如何在Python中执行等效的Excel索引匹配,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个问题,关于如何执行使用Excel中的索引匹配函数返回值并在Python中应用它的等效操作 作为一个在大型数据集上执行数据分析和操作的Excel用户,为了提高效率,我已经转向Python。我试图做的是根据从存储在字典中的值返回的值填充pandas数据帧中的列单元格 为此,我使用了以下代码: # imported csv DataFrames crew_data = pd.read_csv(r'C:\file_path\crew_data.csv') export_template =
# imported csv DataFrames
crew_data = pd.read_csv(r'C:\file_path\crew_data.csv')
export_template = pd.read_csv(r'C:\file_path\export_template.csv')
#contract number dictionary
contract = {'Northern':'046-2019',
'Southern':'048-2015D',}
#function that attempts to perform a INDEX MATCH equivalent
def contract_num():
for x, y in enumerate(crew_data.loc[:, 'Region']):
if y in contract.keys():
num = contract[y]
else:
print('ERROR')
return(num)
#for loop which prepares then exports the load data
for i, r in enumerate(export_template):
export_template.loc[:, 'Contract'] = contract_num()
export_template.to_csv(r'C:\file_path\export_files\UPLOADER.csv')
print(export_template)
总结本准则的目的如下:
df=pd.DataFrame({'Region':['Northern'、'Northern'、'Northern',
“北部”、“南部”、“南部”,
“北部”、“东部”]})
合同={'Northern':'046-2019',
‘南方’:‘048-2015D’}
#类似于索引匹配
df['Contract']=df.Region.map(合同)
输出:
如果合同不匹配,您可以添加打印:
如果df.Contract.isna().any():
打印(“错误”)
或作出断言:
assert not df.Contract.isna().any(),“找到空的合同字段”
在这种情况下:
AssertionError:找到空的合同字段
hi,将此作为指导,以生成可复制的示例。
Region Contract
0 Northern 046-2019
1 Northern 046-2019
2 Northern 046-2019
3 Northern 046-2019
4 Southern 048-2015D
5 Southern 048-2015D
6 Northern 046-2019
7 Eastern NaN