jpp*_*jpp 5 python count dataframe pandas pandas-groupby
我有一个数据帧,并执行groupby与unique通过掩模滤波之后.我的石斑鱼系列是绝对的.我使用的是Python 3.6.0/Pandas 0.19.2.
df1 = pd.DataFrame({'sku': ['A0', 'A0', 'A2', 'A2', 'A3', 'A3'],
'ID': ['10', 'T1', 'T1', 'T2', '10', '20']})
df1['sku'] = df1['sku'].astype('category')
res = df1[df1['ID'].str[0] == 'T'].groupby('sku')['ID'].unique()
sku
A0 [T1]
A2 [T1, T2]
A3 []
Name: ID, dtype: object
Run Code Online (Sandbox Code Playgroud)
这按预期工作.现在,nunique我希望[1, 2, 0].
但相反,我看到[1, 1, 0]:
res = df1[df1['ID'].str[0] == 'T'].groupby('sku')['ID'].nunique()
sku
A0 1
A2 1
A3 0
Name: ID, dtype: int64
Run Code Online (Sandbox Code Playgroud)
如果我省略转换为分类,结果如预期:
res = df1[df1['ID'].str[0] == 'T'].groupby('sku')['ID'].nunique()
sku
A0 1
A2 2
Name: ID, dtype: int64
Run Code Online (Sandbox Code Playgroud)
为什么结果会有所不同,取决于石斑鱼是否属于分类?
| 归档时间: |
|
| 查看次数: |
273 次 |
| 最近记录: |