Pandas 熊猫组由agg nunique多个栏目组成

Pandas 熊猫组由agg nunique多个栏目组成,pandas,Pandas,DataFrame有三列。我想在groupby之后实现函数agg nunique,并取两列 d = {'isin_code': pd.Series([xs, ru, xs, ru, xs], index=[1,2,3,4,5]), 'inn': pd.Series([111, 111, 222, 333, 111], index=[1,2,3,4,5], 'number': pd.Series([Nan, 001, Nan, Nan, 001], index=[1,2,3,4,5])

DataFrame有三列。我想在groupby之后实现函数agg nunique,并取两列

    d = {'isin_code': pd.Series([xs, ru, xs, ru, xs], index=[1,2,3,4,5]), 'inn': pd.Series([111, 111, 222, 333, 111], index=[1,2,3,4,5], 'number': pd.Series([Nan, 001, Nan, Nan, 001], index=[1,2,3,4,5])
    
    df1 = pd.DataFrame(d)

df1['inn'] = df1['inn'].astype(str)
df1['number'] = df1['number'].astype(str)
**df1['col4'] = df1['inn'] + df1['number']**
d1 = df1.groupby(by=['isin_code'], as_index=False).agg({'col4': pd.Series.nunique}) 

**it's work, but so primal...**

DF = pd.merge(df1, d1, how='left', on='isin_code')
用于连接列,然后用于具有以下内容的新列:


(111+Nan)不等于(111+1.0)111计数1,111 1.0计数1与groupby isin_代码。不是很好的例子,运行后,我们将有计数1each@Alpha2020-不明白,您能添加预期输出吗?
111 NaN
+
222 NaN
+
111 1.0
对于
xs
111 1.0
+
333 NaN
对于
ru
d={'isin_code':pd.Series([ru,ru,ru,xs,xs],index=[1,2,3,4,5]),'inn':pd.Series([111,111,111,111,222,111],index=[1,2,3,4,5],'number':pd.Series([001,001,Nan,Nan,001],index=[1,2,3,4,5])df1=pd.DataFrame(d)在groupby ru 111 001计数2 ru 111 Nan计数1 xs计数1 xs 111计数后1@Alpha2020-你现在能查一下吗?
s = df1['inn'].astype(str).str.cat(df1['number'].astype(str))
df1['count'] = s.map(s.value_counts())
print (df1)
  isin_code  inn number  count
1        xs  111    NaN      1
2        ru  111    001      2
3        xs  222    NaN      1
4        ru  333    NaN      1
5        xs  111    001      2