数据帧过滤每天的最高值,并再次将其保存在具有2列的DataFrame中
问题描述
我有一个这样的DataFrame。df:
我将以下函数应用于df
df_new = df.groupby(pd.Grouper(key="longtime",freq="D")).agg({df.columns[1]: [np.max]})
df_new = pd.DataFrame(data= df_new)
print(df_new)
下面您将看到df_new的输出。DatFrame有1列。但是我希望";long";和";Amax";存储在两个单独的列中。我必须如何调整df_new的函数才能实现这一点?
解决方案
从agg
中的一个元素列表中删除[]
以避免MultiIndex
并添加DataFrame.reset_index
:
df_new = (df.groupby(pd.Grouper(key="longtime",freq="D"))
.agg({df.columns[1]: np.max})
.reset_index())
相关文章