本帖最后由 僵尸 于 2017-03-08 10:30 编辑
我想统计网元退服情况,但每个网元都有子网元,只有在子网元全部退服才能计算该网元退服。所以涉及到两个dataframe。 - import pandas as pd
- ne = pd.DataFrame({"NE_Name": ["A", "A", "A", "D", "D", "B", "B", "B", "C", "C", "C", "C"],
- "NE_Unit": ["A1", "A2", "A3", "D2", "D3", "B1", "B2", "B3", "C1", "C2", "C3", "C4"]})
- df = pd.DataFrame({"NE_Name": ["A", "A", "A", "D", "D", "B", "B", "A", "A", "A", "A"],
- "NE_Unit": ["A1", "A2", "A3", "D2", "D3", "B1", "B3", "A1", "A2", "A3", "A2"],
- "Event_Time": ["2017/2/1 5:55:51",
- "2017/2/1 5:55:52",
- "2017/2/1 5:55:54",
- "2017/2/1 6:05:30",
- "2017/2/1 6:05:30",
- "2017/2/1 7:10:30",
- "2017/2/1 7:10:30",
- "2017/2/1 7:24:11",
- "2017/2/1 7:24:21",
- "2017/2/1 7:24:11",
- "2017/2/1 7:55:21"],
- "Clear_Time": ["2017/2/1 5:58:38",
- "2017/2/1 5:58:48",
- "2017/2/1 5:58:38",
- "2017/2/1 7:02:06",
- "2017/2/1 7:02:06",
- "2017/2/1 7:18:36",
- "2017/2/1 7:18:16",
- "2017/2/1 7:53:37",
- "2017/2/1 7:53:37",
- "2017/2/1 7:53:37",
- "2017/2/1 7:59:55"]})
复制代码
得到ne 和 df两个dataframe - df
- Clear_Time Event_Time NE_Name NE_Unit
- 0 2017/2/1 5:58:38 2017/2/1 5:55:51 A A1
- 1 2017/2/1 5:58:48 2017/2/1 5:55:52 A A2
- 2 2017/2/1 5:58:38 2017/2/1 5:55:54 A A3
- 3 2017/2/1 7:02:06 2017/2/1 6:05:30 D D2
- 4 2017/2/1 7:02:06 2017/2/1 6:05:30 D D3
- 5 2017/2/1 7:18:36 2017/2/1 7:10:30 B B1
- 6 2017/2/1 7:18:16 2017/2/1 7:10:30 B B3
- 7 2017/2/1 7:53:37 2017/2/1 7:24:11 A A1
- 8 2017/2/1 7:53:37 2017/2/1 7:24:21 A A2
- 9 2017/2/1 7:53:37 2017/2/1 7:24:11 A A3
- 10 2017/2/1 7:59:55 2017/2/1 7:55:21 A A2
- ne
- NE_Name NE_Unit
- 0 A A1
- 1 A A2
- 2 A A3
- 3 D D2
- 4 D D3
- 5 B B1
- 6 B B2
- 7 B B3
- 8 C C1
- 9 C C2
- 10 C C3
- 11 C C4
复制代码
最终我想得到以下表格: - Clear_Time Event_Time NE_Name
- 2017/2/1 5:58:48 2017/2/1 5:55:54 A
- 2017/2/1 7:02:06 2017/2/1 6:05:30 D
- 2017/2/1 7:53:37 2017/2/1 7:24:21 A
复制代码
解释下: 1.df中因为B网元下B2没有退服,所以最终结果B没有计算进去 2.退服时间是以子网元最后一个网元退服时间为该网元退服时间。恢复时间则以子网元最早一个恢复时间为该网元恢复时间 3.存在一个网元在df中多次退服情况,分别计算 有哪位朋友帮忙看看怎么解决,先行谢谢了。
|