Python 基于索引的两列和两个数据帧之间的差异
我想分析两个数据帧 df1: df2: 我想创建第三个数据帧,它只包含Python 基于索引的两列和两个数据帧之间的差异,python,pandas,dataframe,Python,Pandas,Dataframe,我想分析两个数据帧 df1: df2: 我想创建第三个数据帧,它只包含df2['Time']-df1['Time']!=0基于索引和仅在df2中可用的行 期望输出: City Time Day 2478987 Denver 10 07/09/2019 5172728 New York 10 09/09/2019 4787428 Boston -5 10/09/2019 14
df2['Time']-df1['Time']!=0
基于索引和仅在df2中可用的行
期望输出:
City Time Day
2478987 Denver 10 07/09/2019
5172728 New York 10 09/09/2019
4787428 Boston -5 10/09/2019
1478712 Austin 7 10/09/2019
我尝试使用numpy.where(),但是我无法使它只比较相同的索引
谢谢试试这个:
df3=(df1.join(df2,rsuffix=“\u 2”)
df3=df3.loc[df[“Time”!=df[“Time_2”]]
df3[“时间”]=df3[“时间”]-df3[“时间”]
df3=df3.下降([“时间2”、“日期2”、“城市2”],轴=1)
或
City Time Day
5866128 Los Angeles 3.5 01/09/2019
2478987 Denver 10 07/09/2019
5172728 New York 24 09/09/2019
4787428 Boston 4 10/09/2019
1478712 Austin 7 10/09/2019
City Time Day
2478987 Denver 10 07/09/2019
5172728 New York 10 09/09/2019
4787428 Boston -5 10/09/2019
1478712 Austin 7 10/09/2019
df2['Time'] = df2['Time'].sub(df1['Time'], fill_value=0)
df2[df2.Time.ne(0)]
df2.assign(Time = df2['Time'].sub(df1['Time'], fill_value= 0)).loc[lambda x:x.Time.ne(0)]