你已經到達DF了。我在這裏展示了它的有趣的專欄。它在行和列中都更大:DF.shape = (185, 34)
。用不同DF的信息填充熊貓DF細胞
正如你所看到的,outSpeed
字段爲空的滯後般的端口。
我已經計算出不同的DF與outSpeed爲LAG的...
dfLags = df[df['lag_id'] > 0 ]
dfLags = dfLags.groupby([SITE_IP,'lag_id'])['outSpeed'].sum().reset_index()
dfLags['lag_id'] = 'Lag ' + dfLags['lag_id'].astype(str).str[:-2]
dfLags.rename(columns = {'lag_id':PORT_NAME} , inplace = True)
...產生以下...
Site ID Port outSpeed
0 10.2.20.5 Lag 112 10000000000
1 10.2.20.5 Lag 122 10000000000
2 10.2.21.3 Lag 1 2000000000
3 10.2.21.3 Lag 3 20000000000
4 10.2.21.3 Lag 10 20000000000
5 10.2.22.123 Lag 2 3000000000
6 10.2.22.123 Lag 3 2000000000
7 10.2.22.123 Lag 10 6000000000
8 10.2.22.21 Lag 1 3000000000
9 10.2.22.21 Lag 3 2000000000
10 10.2.22.21 Lag 10 6000000000
11 10.2.46.52 Lag 3 20000000000
12 10.2.46.52 Lag 10 20000000000
dfLags.shape = (13, 3)
所以,例如,要完成原始DF,我將不得不填寫Site ID = 10.2.46.52
與Port = lag 10
的outSpeed = 20000000000
。
我還沒有找到一個這樣做的簡單方法。我的意思是:如何填寫原始DF的outSpeed
字段有條件的兩個字段(site ID,port
),請記住,當然,原來的DF是更大的方式?
編輯:我讀過這[後],這是我面臨的同樣的問題,但目前還無法實現。
在那裏,他們建議做:
values = (dfTemp[[SITE_IP,PORT_NAME]] == dfLags[[SITE_IP,PORT_NAME]]).axis(all=1)
...但在運行的時候,我得到:
ValueError: Can only compare identically-labeled DataFrame objects
我覺得我想趁自己越來越近。有任何想法嗎?
[文章] - Pandas (Python) - Update column of a dataframe from another one with conditions
你介意張貼一些實際的數據,或者是太許多? –
其實是一個相當大的文件。但是發現一篇文章看起來像是一個解決方案,儘管還沒有成功。我編輯了這個問題。 –
'merge()'有什麼問題? –