2017-06-21 54 views
0

添加一個列,這是在pandas提供的column1和column2中第3列的連續行的差異的結果是相同的。pandas提供的column1和column2中第3列的連續行的差異的結果是相同的

col1 col2 
A  B  
A  B  
C  D  
C  D 
C  D 

第一O/P

col1 col2 col3_count 
A  B  2 
A  B  2 
C  D  3 
C  D  3 
C  D  3 

第二O/P

ol1 col2 col3_count diff 
A  B  2  Nan 
A  B  2  0 
C  D  3  Nan 
C  D  3  0 
C  D  3  0 
+0

1.請格式化你的代碼的代碼。 2.你在問什麼?你是否試圖產生兩個輸出?或者你知道如何產出產出1並詢問產出2嗎? 「第3列的連續行的差異的結果」是什麼意思? – jack6e

回答

1

1. O/P

df_out = df.assign(col3_count=df.groupby(['col1','col2'])['col1'].transform('size')) 

輸出:

col1 col2 col3_count 
0 A B   2 
1 A B   2 
2 C D   3 
3 C D   3 
4 C D   3 

2 O/P

df_out.assign(diff=df_out.groupby(['col1','col2'])['col3_count'].diff()) 

輸出:

col1 col2 col3_count diff 
0 A B   2 NaN 
1 A B   2 0.0 
2 C D   3 NaN 
3 C D   3 0.0 
4 C D   3 0.0 
+0

謝謝第一個工作,但在第二個我得到的錯誤,這是因爲我的數據不是上述的一個,將chcek它 –

相關問題