我有一个 pdf df 包含四列:ID, t,x1和x2。
import pandas as pd
dat = {'ID': [1,1,1,1,2,2,2,3,3,3,3,4,4,4,5,5,6,6,6],
't': [0,1,2,3,0,1,2,0,1,2,3,0,1,2,0,1,0,1,2],
'x1' : [3.5,3.5,3.5,3.5,2.01,2.01,2.01,3.9,3.9,3.9,3.9,2.2,2.2,2.2,1.8,1.8,2.1,2.1,2.1],
'x2': [4,4,4,4,3,3,3,4,4,4,4,3,3,3,2,2,3,3,3]
}
df = pd.DataFrame(dat, columns = ['ID', 't', 'x1','x2'])
print (df)
我需要创建一个新列y和group_by ID这样
if t!=max(t) then y=1,
if t==max(t) then y = x1-x2+1.
输出看起来像:
请注意,我有数百万条记录,所以解决方案越快越好。
ABOUTYOU
相关分类