Dataframe filter the highest value from each day and save it again in a DataFrame with 2 columns(数据帧过滤每天的最高值,并再次将其保存在具有2列的DataFrame中)

本文介绍了数据帧过滤每天的最高值,并再次将其保存在具有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())

这篇关于数据帧过滤每天的最高值,并再次将其保存在具有2列的DataFrame中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!