PYTHON:使用if语句查找两个变量列相同的地方并存储索引



我试图存储索引,其中两个dataframe具有相同的值。例如…

current_gages= 95x4包含以下标题的数据帧:site_no, sitename, Lat, Lon

ucol_gagessite_no, area

我想找到这两个数据框架的索引有相同的站点编号(site_no)。

我正在处理以下事项:

count1=0
gages_idx=[]
for j in range(len(current_gages)):
if ucol_gages['site_no'][count1] == current_gages['site_no'][j]:
gages_idx.append([count1, j])
count1+=1
elif ucol_gages['site_no'][count1] != current_gages['site_no'][j]:
count1+=0

使用第一个if语句在[4,4]处停止循环,然后为了确保当前尺寸中没有任何其他行,我添加了elif语句来遍历其余的行。

我知道ucol_gages和current_gages匹配的下一个索引是:ucol_gages [' site_no '][5]和current_gages site_no"[4]。

有更简单的方法吗?我需要确保在df内遍历行索引的所有变化,以确定任何可能的匹配。

要获得ucol_gages数据框的匹配索引,可以执行以下操作

ucol_gages[ucol_gages['site_no'].isin(pd.merge(ucol_gages, current_gages, on=['site_no'], how='inner')['site_no'])].index.values.tolist()

要获得current_gages数据框的匹配索引,您可以执行以下操作

current_gages[current_gages['site_no'].isin(pd.merge(current_gages, ucol_gages, on=['site_no'], how='inner')['site_no'])].index.values.tolist()

希望这对你有帮助;)

最新更新