2
以下是我的數據:刪除與幾列重複,總結其他列
name id junk date time value value2
abc 1 1 1/1/2017 18:07:54 5 10
abc 1 2 1/1/2017 19:07:54 10 15
abc 2 3 2/1/2017 20:07:54 15 20
abc 2 4 2/1/2017 21:07:54 20 25
def 3 5 3/1/2017 22:07:54 25 30
def 3 6 3/1/2017 23:07:54 30 35
def 4 7 4/1/2017 12:07:54 35 40
def 4 8 4/1/2017 13:07:54 40 45
我想刪除基於三列,name
,id
和date
,採取的第一個值的重複。我想下面的命令:
data.drop_duplicates(subset=['name', 'id', 'date'],keep = 'first')
我也想組這三根柱子,並採取value
和value2
列的總和,我嘗試以下柱:
data[['name', 'id', 'date', 'value']].groupby(['name', 'id', 'date']).sum()
data[['name', 'id', 'date', 'value2']].groupby(['name', 'id', 'date']).sum()
現在我想加入所有的三個數據框並拿走這些列。我在想,應該有更好的方法來做到這一點?以下是我要找的輸出:
name id junk date time value value2
abc 1 1 1/1/2017 18:07:54 15 25
abc 2 3 2/1/2017 20:07:54 35 45
def 3 5 3/1/2017 22:07:54 55 65
def 4 7 4/1/2017 12:07:54 75 85
,我想基於name
,id
和date
列考慮刪除重複,取junk
和time
列的第一個值,並添加value
和value2
列。
有人可以幫我做這件事嗎?
我想合計只有兩列,並有其餘列第一值和剩餘的列可以改變和在我的實際數據中也有近75列,我必須給出'時間':'第一','垃圾':一切都是'第一'。有沒有辦法避免這種情況? – haimen
是的,你可以使用列表理解。稍等片刻。 – jezrael
請查看編輯答案 – jezrael