Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.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_Python 3.x_Pandas_Merge_Pandas Groupby - Fatal编程技术网

Python 合并/连接行数据帧

Python 合并/连接行数据帧,python,python-3.x,pandas,merge,pandas-groupby,Python,Python 3.x,Pandas,Merge,Pandas Groupby,我有以下数据帧: Date/Time P1 P2 P83 ON OFF 2014-01-13 11:41 path 83 2014-01-13 11:41 offline 2014-03-26 14:37 path 1 2014-03-26 14:37

我有以下数据帧:

Date/Time           P1      P2      P83     ON      OFF
2014-01-13 11:41                    path 83     
2014-01-13 11:41                                    offline
2014-03-26 14:37    path 1              
2014-03-26 14:37                                    offline
2014-03-26 14:37                    path 83     
2014-03-26 15:33    path 1              
2014-03-26 15:33                            online  
2014-04-25 5:44             path 2          
2014-04-25 5:44                                     offline
我想合并具有相同索引的行并填充列。永远不会出现一列具有相同索引的值的情况,即列值不会崩溃。所需的输出是如下所示的数据帧:

Date/Time           P1      P2      P3      ON      OFF
2014-01-13 11:41                    path 83         offline
2014-03-26 14:37    path 1          path 83         offline
2014-03-26 15:33    path 1                  online
2014-04-25 5:44             path 2                  offline

非常感谢:)

按键分组并应用
.first()

为“状态”创建新列:

如果需要,请删除列:

agg.drop(['ON', 'OFF'], axis=1, inplace=True)
将您的
agg
保留为:

                      P1      P2      P83   STATUS
Date/Time                                         
2014-01-13 11:41     NaN     NaN  path 83  offline
2014-03-26 14:37  path 1     NaN  path 83  offline
2014-03-26 15:33  path 1     NaN      NaN   online
2014-04-25 5:44      NaN  path 2      NaN  offline

一个天真的
df.groupby('Date/Time')。first()
为您工作?我很惊讶我花了一天时间在这上面:)它工作得很好。关于如何将最后两列(打开和关闭)合并为一列,有什么建议吗?如果你能把你的答案写成“答案”这样我就可以接受了?嗯。。。也许一旦你完成了分组,然后
df['STATUS']=df['ON'].fillna(df['OFF'])
?很好。非常感谢你。如果你写一个“答案”,我可以接受。非常感谢您的帮助:)您是否能够提供更容易复制/可复制的DF?或者将其作为代码或
df.to_dict()
或类似内容包含?您上面的示例不太好解析,无法使其成为一个可用的DF来运行。
agg.drop(['ON', 'OFF'], axis=1, inplace=True)
                      P1      P2      P83   STATUS
Date/Time                                         
2014-01-13 11:41     NaN     NaN  path 83  offline
2014-03-26 14:37  path 1     NaN  path 83  offline
2014-03-26 15:33  path 1     NaN      NaN   online
2014-04-25 5:44      NaN  path 2      NaN  offline