让我们说我有一个属于组成员的数据集:
render={({ submitForm, ...restOfProps}) => {
console.log('restOfProps', restOfProps);
return (
<React.Fragment>
<Form>
Date: <Field name="date" />
<br />
Type: <Field name="workoutType" />
<br />
Calories: <Field name="calories" />
<br />
<button type="submit">Submit</button>
</Form>
<hr />
<br />
<button type="submit" onClick={submitForm}>
Button Outside Form
</button>
</React.Fragment>
);
}}
对于每个人,我想计算至少属于同一组(包括他们自己)的不同人的数量:
Group ID | Person ID
1 1
2 1
2 2
3 1
3 3
除了使用分组ID的密钥将上面的数据集自身加入之外,还有其他更有效的方法来进行计数吗?
答案 0 :(得分:1)
我认为您需要自我加入并按以下条件分组:
select t1.personid, count(distinct t2.personid)
from t t1 left join
t t2
on t1.groupid = t2.groupid
group by t1.personid;
Here是db <>小提琴。
答案 1 :(得分:0)
使用nunique
df.merge(df,on='GroupID').groupby('PersonID_x')['PersonID_y'].nunique().reset_index()
Out[170]:
PersonID_x PersonID_y
0 1 3
1 2 2
2 3 2