擅长:python、mysql、java
<p>使用<code>apply</code>你可以做到</p>
<pre><code>In [117]: cols = ['BankName', 'Number', 'Firstname', 'Lastname']
In [126]: df.groupby('ID')[cols].nunique().apply(tuple, axis=1)
Out[126]:
ID
12 (2, 2, 2, 1)
13 (3, 3, 2, 3)
dtype: object
</code></pre>
<p>或者</p>
^{pr2}$
<p>或者,如果您希望作为数据帧而不是元组</p>
<pre><code>In [122]: df.groupby('ID').agg({c: 'nunique' for c in cols})
Out[122]:
Lastname Number Firstname BankName
ID
12 1 2 2 2
13 3 3 2 3
or,
In [123]: df.groupby('ID')[cols].nunique()
Out[123]:
BankName Number Firstname Lastname
ID
12 2 2 2 1
13 3 3 2 3
</code></pre>