我尝试将我的数据帧拆分为10行,并为每10行找到聚合函数(mean,SD等),然后再次将其合并为1个数据帧。以前,我使用.groupby函数对数据进行分组,但无法将数据拆分为10行。
这就是我所做的:
def sorting (df):
grouped = df.groupby(['Activity']).
l_grouped=list(grouped)我将分组的结果转换为list (l_grouped),但我不知道是否可以将行从每个元组/列表中分离出来?结果与原始数据帧一致,但由“活动”分隔。例如,将'Standing‘作为目标值('Activity')的行可以通过调用l_grouped1 (类型列表/元组)来访问。l_grouped 1将只返回单词'Standing‘。我可以使用以下命令访问分组结果:
for i in range(len(df_sort)):
print(df_sort[i][1])df_sort关于调用sorting(df)的结果,有没有办法将元组/列表按行拆分?然后在上面创建聚合函数?
发布于 2020-10-25 19:25:03
我建议使用一个窗口函数+一个小技巧来提高步幅:
step = 10
window = 10
df = pd.DataFrame({'a': range(100)})
df['a'].rolling(window).sum()[::step]如果这不是您正在寻找的确切结果,请检查documentation以了解有关窗口边界等的更多详细信息。
发布于 2020-10-25 19:41:03
您可以执行以下操作:
import numpy as np
step = 10
df["id"] = np.arange(len(df))//step
gr = df.groupby("id")
...https://stackoverflow.com/questions/64523017
复制相似问题