2017-06-14 146 views
1

我有熊貓數據幀DF在大熊貓數據幀創造條件組列

id key_no 
1  1 
2  1 
3  2 
4  2 
5  2 
6  3 
7  3 

一個表中的這個特定KEY_NO與多個ID的

相關我想創建一個新的數據幀,其有列

keyno start_id end_id 
1   1   2 
2   3   5 
3   6   7 

即創建列 'START_ID',併爲每個keyno 'END_ID',在數據幀DF2

我們可以嘗試使用df.groupby,但如何使用它創建新的df2,我是新來的python, 任何線索?

回答

1

使用groupby + agg通過firstlast。最後rename列由dict

d = {'first':'start_id','last':'end_id'} 
df = df.groupby('key_no')['id'].agg(['first','last']).rename(columns=d) 
print (df) 
     start_id end_id 
key_no     
1    1  2 
2    3  5 
3    6  7 
+0

工作,一個查詢,當你說在列的'值sorted',你在「ID」列權意味着什麼? – Shubham

+0

ooops,第二個解決方案是錯誤的,因爲最後一個值只在樣本中最大,在實際數據中可能是,也許不是......類似於第一個和最小。 – jezrael