![](/img/trans.png)
[英]Add a new column with values based on groupby values two other columns
[英]Python groupby - Create a new column based on values in other columns
我有一個非常大的數據框。
我想首先按“ id”列進行分組。
然后根據其他現有列創建一個新列“ reply_time”。
import pandas as pd
import numpy as np
id = ['793601486525702000','793601486525702000','793601710614802000','793601355214561000','793601355214561000','793601355214561000','793601355214561000','788130215436230000','788130215436230000','788130215436230000','788130215436230000','788130215436230000']
time = ['11/1/2016 16:53','11/1/2016 16:53','11/1/2016 16:52','11/1/2016 16:55','11/1/2016 16:53','11/1/2016 16:53','11/1/2016 16:51','11/1/2016 3:09','11/1/2016 3:04','11/1/2016 2:36','11/1/2016 2:08','11/1/2016 0:28']
reply = ['3','3','0','3','3','2','1','3','2','3','3','1']
df = pd.DataFrame({"id": id, "time": time, "reply": reply})
id time reply
793601486525702000 11/1/2016 16:53 3
793601486525702000 11/1/2016 16:53 3
793601710614802000 11/1/2016 16:52 0
793601355214561000 11/1/2016 16:55 3
793601355214561000 11/1/2016 16:53 3
793601355214561000 11/1/2016 16:53 2
793601355214561000 11/1/2016 16:51 1
788130215436230000 11/1/2016 3:09 3
788130215436230000 11/1/2016 3:04 2
788130215436230000 11/1/2016 2:36 3
788130215436230000 11/1/2016 2:08 3
788130215436230000 11/1/2016 0:28 1
此新列“ reply_time”中有兩種類型的值。
在這種情況下,我的輸出數據幀將是:
id time reply reply_time
793601486525702000 11/1/2016 16:53 3 na
793601486525702000 11/1/2016 16:53 3 na
793601710614802000 11/1/2016 16:52 0 na
793601355214561000 11/1/2016 16:55 3 na
793601355214561000 11/1/2016 16:53 3 na
793601355214561000 11/1/2016 16:53 2 na
793601355214561000 11/1/2016 16:51 1 11/1/2016 16:53
788130215436230000 11/1/2016 3:09 3 na
788130215436230000 11/1/2016 3:04 2 na
788130215436230000 11/1/2016 2:36 3 na
788130215436230000 11/1/2016 2:08 3 na
788130215436230000 11/1/2016 0:28 1 11/1/2016 3:04
我不知道實現此目標的最佳方法。 有人可以幫忙嗎?
提前致謝!
切片后嘗試merge
並replace
yourdf=df.merge(df.query("reply=='2'").replace({'reply':{'2':'1'}}).rename(columns={'time':'reply_time'}),how='left')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.