执行以下代码后,
df1.merge(df2,on = ['Customer_id'],indicator ='Status',how ='outer')
我明白了
现在,我想比较Name_x中的所有元素是否等于Name_y,对于其他列也是如此。我正在做的是单独比较。这是我的代码:
df3.assign(Status1 = df3.Name_x == df3.Name_y)
df3.assign(Status2 = df3.Age_x == df3.Age_y)
以此类推
完成上述操作后,
我可以编写 for循环,这样我就不必编写代码
df3.assign()
分别比较每两列?
,最重要的是我的最终状态列应如下所示,
我在做什么,正在考虑这样写 if elif :
def f(row):
Private Sub Worksheet_Change(ByVal Target As Range) Select Case Target.Column Case 4, 5, 6 'if user entered data in columns D to F Max_date = Application.WorksheetFunction.Max(Range(Cells(Target.Row, 4), Cells(Target.Row, 6))) 'get the max value in row from column D to F (4 to 6) Max_date = CDate(Max_date) DueDate = DateAdd("yyyy", 3, Max_date) Cells(Target.Row, 3) = DueDate End Select End Sub
如果只想在 Status1和Status2 两列上写 ifif ,就可以了,如果想写 ifelif ,就很冗长了>在2列以上。如果我也有 Status3 列,能否在几行代码中获得所需的输出?
答案 0 :(得分:0)
使用pandas.merge
将两个csv读入熊猫
df1=pd.Dataframe.from_csv('file')
df2=pd.Dataframe.from_csv('file2')
然后使用“外部”联接进行合并
df3=pd.merge(df1,df2,on=[key1,key2 etc], how="outer", indicator=True)
这时您应该完成90%