El dataframe es un df vacío después de la consulta. Cuando esté agrupado, active la advertencia de tiempo de ejecución, luego obtenga otro dataframe vacío sin columnas. ¿Cómo mantener las columnas?
df = pd.DataFrame(columns=["PlatformCategory","Platform","ResClassName","Amount"]) print df
resultado:
Empty DataFrame Columns: [PlatformCategory, Platform, ResClassName, Amount] Index: []
entonces groupby:
df = df.groupby(["PlatformCategory","Platform","ResClassName"]).sum() df = df.reset_index(drop=False,inplace=True) print df
resultado: a veces es Ninguno en algún momento es dataframe vacío
Empty DataFrame Columns: [] Index: []
por qué el dataframe vacío no tiene columnas.
runtimewaring:
/data/pyrun/lib/python2.7/site-packages/pandas/core/groupby.py:3672: RuntimeWarning: divide by zero encountered in log
si alpha + beta * ngroups <count * np.log (count):
/data/pyrun/lib/python2.7/site-packages/pandas/core/groupby.py:3672: RuntimeWarning: invalid value encountered in double_scalars if alpha + beta * ngroups < count * np.log(count):
Necesita as_index=False
y group_keys=False
:
df = df.groupby(["PlatformCategory","Platform","ResClassName"], as_index=False).count() df Empty DataFrame Columns: [PlatformCategory, Platform, ResClassName, Amount] Index: []
No hay necesidad de restablecer su índice después.