孫偉 李忠良 張麗華
摘 要:本文主要通過先進的人工智能python語言,在Visual Studio code集中開發環境下,實現基站故障的自動統計分析輸出,大幅提升日常故障分析處理的效率和準確率,壓縮故障處理時限,助力移動網NPS提升。
關鍵詞:基站故障;超長斷站;超頻斷站;超短斷站;超量斷站
中圖分類號:G642
一 概述
本項目利用Python語言簡潔、模塊化以及擁有豐富的資源庫的特點,基于Visual Studio Code集成開發環境,快速實現基站故障原因統計匯總、超長斷站、超頻斷站、超短斷站的自動輸出展示。
二 基站故障大數據研究及分析
1導入庫及函數模板
利用Python的大數據處理功能主要使用了pandas和numpy兩個標準庫。導入庫及函數模板后,讀取桌面上的alarms斷站excel表格,準備進行數據處理。
#導入各種庫以及函數模板
import pandas as pd
import numpy as np
from pandas import DataFrame
from pandas import Series
from pandas import to_datetime
#導入具體的文件
data = pd.read_excel(r'C:\Users\Lenovo\Desktop\alarms斷站.xls')
df_0 = pd.DataFrame(data)
df_0['故障原因'].fillna('其他')
2 四超斷站分析及設計
本文提到的四超斷站指的是超長斷站、超短斷站、超頻斷站和超量斷站。
超長斷站分析及設計:按照故障關鍵項有效列順序,對“故障時長”列進行排序,自動輸出時長較長的100個(或10個)到一個新的excel表“超長斷站”;同理,如果對“故障時長”列進行判斷,如果大于等于1分鐘,小于10分鐘,自動輸出生成一個新的excel表”超短斷站”。
超頻斷站分析及設計:按照上述有效列順序,對“網元名稱”列中基站名稱進行統計,得到斷站告警的次數,把斷站次數大于等于5(大于10)的排好順序,自動輸出一個新的excel表“超頻斷站”。(同理類推,可以輸出頻次大于10的基站,頻次大于100的基站)
超量斷站分析及設計:按照有效列順序,對“工單號”列進行統計,保留大于等于10次的工單;再對“故障原因”和“區縣”進行統計判斷是否均大于等于10次,確定是否符合超量斷站的基本定義“同一時間內因同一故障原因造成10個以上邏輯基站斷站”,符合條件的自動輸出新的excel表格“超量斷站”。
以超頻斷站為例的Python代碼見下:
#超頻斷站
df_cpdz = df_0.loc[:,['地市','區縣','網元名稱','網管告警標題','告警發生時間','告警清除時間','故障時長']]
counts1 = df_cpdz[u'網元名稱'].value_counts()
counts = counts1[counts1>=5]
x =counts.index.values
cpdz = DataFrame(columns=['地市','區縣','網元名稱','網管告警標題','告警發生時間','告警清除時間','故障時長'])
for i in range(len(x)):
for j in range(len(df_cpdz)):
if df_cpdz.iat[j,2] == x[i]:
cpdz = cpdz.append(df_cpdz[j:j+1],ignore_index=True)
t = Series(index=cpdz['網元名稱'])
for i in t.index.values:
t[i] = counts[i]
t.index=range(len(t))
t=t.astype(int)
cpdz.insert(7,'斷站次數',t,allow_duplicates = True)
cpdz= cpdz.astype(str)
cpdz.to_excel(r'C:\Users\Lenovo\Desktop\超頻斷站.xls',index=None)
三 結語
利用Python語言強大的數據處理功能,成功實現了基站故障分析的各項基本功能,可以在1-2秒內自動輸出故障報表,并且在處理大量數據方面具有明顯優勢,不僅大大提高了工作效率,而且為下一步擴大人工智能語言Python在移動網基站規劃、建設、優化及維護方面應用提供了良好的實踐基礎。
參考文獻:
[1]楊帆,丁曉劍,劉禹鋒,劉健.主體思維導向視角下的Python課程教學探索[J].計算機時代,2021(02):74-76+79.
[3] 瞿蘇.基于Python的飛機大戰游戲設計[J].揚州職業大學學報.2019(01).
(中國聯通臨沂市分公司? ?山東? 臨沂? 276000)