Python 数据帧选择中的多个条件

Python 数据帧选择中的多个条件,python,pandas,Python,Pandas,我有两个相似的数据帧。df1和df2具有相同的结构。它们在一列(policyID)中有相同的数据,其他列可能有不同的数据,一列包含时间戳,基于此,我需要对它们进行隔离。 df1- df2- 我需要创建一个新的数据帧,比如说df3,如果df1的时间戳更高,它包含来自df1的数据,如果df2的时间戳更高,它包含来自df2的数据。我认为您需要with,last need with或: 我认为你需要,最后需要,或者: 我有疑问,drop_duplicate将删除重复项,它将如何比较时间戳?如果没有k

我有两个相似的数据帧。df1和df2具有相同的结构。它们在一列(policyID)中有相同的数据,其他列可能有不同的数据,一列包含时间戳,基于此,我需要对它们进行隔离。 df1-

df2-

我需要创建一个新的数据帧,比如说df3,如果df1的时间戳更高,它包含来自df1的数据,如果df2的时间戳更高,它包含来自df2的数据。

我认为您需要with,last need with或:


我认为你需要,最后需要,或者:



我有疑问,drop_duplicate将删除重复项,它将如何比较时间戳?如果没有keep参数,它将保存第一条记录,而不考虑timestamp,sorrry,请给我一个简单的检查edit-added sort_值,以便按
timestamp
对数据帧进行排序,我从csv读取数据帧,参数头=None,因此我的数据帧类似于df1=0 114455 FL CLAY COUNTY 2015-12-23 df2=0 114455 FL1 CLAY COUNTY1 2016-12-15,因此在运行df3=pd.concat([df1,df2],axis=1)时对值进行排序(['18'])。删除重复项(['crc])我无法对重复列上的值进行排序。我想您可以添加参数
names=['policyID'、'statecode'、'country'、'timestamp']
我怀疑,删除重复项将删除重复项,它将如何比较时间戳?如果没有keep参数,它将保存第一条记录,而不考虑timestamp,sorrry,请给我一个简单的检查edit-added sort_值,以便按
timestamp
对数据帧进行排序,我从csv读取数据帧,参数头=None,因此我的数据帧类似于df1=0 114455 FL CLAY COUNTY 2015-12-23 df2=0 114455 FL1 CLAY COUNTY1 2016-12-15,因此在运行df3=pd.concat([df1,df2],axis=1)时对值进行排序(['18'])。删除重复项(['crc])我发现无法对重复列上的值进行排序。我想您可以添加参数
names=['policyID'、'statecode'、'county'、'timestamp']
policyID,statecode,county,timestamp
114455,FL,CLAY COUNTY,2015-12-23
policyID,statecode,county,timestamp
114455,FL,CLAY COUNTY,2016-12-34
print (df1)
            0    1             2           3
0  114453   FL   CLAY COUNTY  2016-12-23
1  114455  FL1  CLAY COUNTY1  2016-12-11
2  114457  FL1  CLAY COUNTY1  2016-12-11

print (df2)
        0    1             2           3
0  114453  FL1  CLAY COUNTY1  2016-12-15
1  114455  FL1  CLAY COUNTY1  2016-12-15
2  114457  FL1  CLAY COUNTY1  2016-12-15

df1.iloc[:,3] = pd.to_datetime(df1.iloc[:,3])
df2.iloc[:,3] = pd.to_datetime(df2.iloc[:,3])

df3 = pd.concat([df1,df2])
df3 = df3.sort_values(df3.columns[3]).groupby(df3.columns[0]).first()
print (df3)
          1             2          3
0                                   
114453  FL1  CLAY COUNTY1 2016-12-15
114455  FL1  CLAY COUNTY1 2016-12-11
114457  FL1  CLAY COUNTY1 2016-12-11
df3 = pd.concat([df1,df2])
df4 = df3.sort_values(df3.columns[3]).groupby(df3.columns[0]).last()
print (df4)
          1             2          3
0                                   
114453   FL   CLAY COUNTY 2016-12-23
114455  FL1  CLAY COUNTY1 2016-12-15
114457  FL1  CLAY COUNTY1 2016-12-15