我想統計網元退服情況,但每個網元都有子網元,只有在子網元全部退服才能計算該網元退服。所以涉及到兩個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中多次退服情況,分別計算
有哪位朋友幫忙看看怎么解決,先行謝謝了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/120448.html
