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