Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 比较两个数据帧_Python_Pandas_Dataframe - Fatal编程技术网

Python 比较两个数据帧

Python 比较两个数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有两个不同的数据帧 DF1 DF2 我需要比较两个数据帧之间的ID,然后DF1的datetime将小于DF2,然后事件列应该出现 DF2 如果我理解了您的问题,您希望合并这两个数据帧,并将datetime列设置为更高的datetime列。您可以按如下方式执行此操作 为测试创建虚拟数据 将熊猫作为pd导入 原始数据={ “ids”:范围(1,6), “日期时间”:[“7:55”、“9:20”、“8:11”、“7:30”、“11:25”], “事件”:[“E11”、“E12”、“E13”、“E14

我有两个不同的数据帧

DF1

DF2


我需要比较两个数据帧之间的ID,然后DF1的datetime将小于DF2,然后事件列应该出现

DF2


如果我理解了您的问题,您希望合并这两个数据帧,并将datetime列设置为更高的datetime列。您可以按如下方式执行此操作

为测试创建虚拟数据

将熊猫作为pd导入
原始数据={
“ids”:范围(1,6),
“日期时间”:[“7:55”、“9:20”、“8:11”、“7:30”、“11:25”],
“事件”:[“E11”、“E12”、“E13”、“E14”、“E15”]
}
df1=pd.DataFrame(原始数据)
df1[“datetime”]=pd.to_datetime(df1[“datetime”],格式=“%H:%M”)
显示器(df1)
原始数据={
“ids”:范围(1,5),
“日期时间”:[“7:45”、“9:30”、“8:41”、“7:20”],
“值”:[“E21”、“E22”、“E23”、“E24”]
}
df2=pd.DataFrame(原始数据)
df2[“datetime”]=pd.to_datetime(df2[“datetime”],格式=“%H:%M”)
显示器(df2)
合并

merged\u df=pd.merge(df1,df2,on=“ids”,how=“inner”)
合并的df[“datetime”]=合并的df[“datetime\ux”]。其中(合并的df[“datetime\ux”]>=合并的df[“datetime\uy”],
合并的_df[“日期时间_y”])
显示(合并的测向)
合并的索引(列=[“日期时间”、“值”、“事件”])

“DF1的日期时间将小于DF2,那么应该出现
事件
列”-如果DF1中的日期时间晚于DF2怎么办?
事件
列中将显示什么?
ID Datetime  Event
1   07:51      XX
2   08:50      XY
3   09:01      XZ
ID Datetime  Value
1   07:55      AB
2   08:54      BC
3   09:05      CD
ID Datetime  Value   Event
1   07:55      AB     XX
2   08:54      BC     XY
3   09:05      CD     XZ