Python 迭代具有相同长度的两个数据帧
我想迭代两个大小不相同的数据帧,以便输出用户列表及其信息,这些用户将离开公司,并且仍然活跃Python 迭代具有相同长度的两个数据帧,python,pandas,Python,Pandas,我想迭代两个大小不相同的数据帧,以便输出用户列表及其信息,这些用户将离开公司,并且仍然活跃 df1=pd.DataFrame({'Name':['PAUL','LAURE','DAVID','MAT'], ‘矩阵’:[‘AP’、‘MP’、‘ND’、‘AD’], ‘ACTIF’:[‘是’、‘是’、‘是’、‘否’]} df2=pd.DataFrame({'Name':['MIKE','DAVID','MAT']} 当我在df2.index中时: 对于df1.index中的j: 用户离开=[] 如
df1=pd.DataFrame({'Name':['PAUL','LAURE','DAVID','MAT'],
‘矩阵’:[‘AP’、‘MP’、‘ND’、‘AD’],
‘ACTIF’:[‘是’、‘是’、‘是’、‘否’]}
df2=pd.DataFrame({'Name':['MIKE','DAVID','MAT']}
当我在df2.index中时:
对于df1.index中的j:
用户离开=[]
如果df2['Name'][i]==df1['Name'][j]和df1.ACTIF[j]==Yes':
用户离开=df1.iloc[i]
其他:
j=j+1
i=i+1
打印(用户离开)
结果应该是这样的:
Name Matricule
David ND
有一个比在DataFrame上迭代更好的选项,您可以根据第二个DataFrame值过滤第一个DataFrame并选择所需的列 请参阅以下代码:
df1[(df1.Name.isin(df2.Name)) & (df1.ACTIF=='YES')][['Name', 'MATRICULE']]
有一个比在DataFrame上迭代更好的选项,您可以根据第二个DataFrame值过滤第一个DataFrame并选择所需的列 请参阅以下代码:
df1[(df1.Name.isin(df2.Name)) & (df1.ACTIF=='YES')][['Name', 'MATRICULE']]