簡體   English   中英

按一列分組,然后平均各列的 rest。 Pandas dataframe

[英]Group by one column and then average each of the rest of the columns. Pandas dataframe

我正在嘗試做兩件事,以便我可以取 dataframe 中每個組的 144 列中的每一列的平均值。

我有 144 列用於不同的壓力讀數,然后有一列用於“循環”。 大約有70個周期。 我想將 dataframe 按“周期”分組,然后計算每個周期的每列的平均值。

我已成功使用以下方法對數據進行分組:

cycles = df.groupby('cycle')

我在取每個剩余列的平均值的邏輯上也遇到了問題,因為以下將所有列平均在一起,這不是我想要的:

for cycle, group in cycles:
    cycles.mean()

如果有任何幫助或更簡單的方法,我將不勝感激。

您只需指定要沿其計算平均值的軸,如下所示:

for cycle, group in cycles:
    group_mean = group.mean(axis=0)

axis=0將給出行的平均值(對於每一列), axis=1 - 列的平均值(對於每一行)

for 循環會將所有列轉換為浮點數,除了“循環”列,我想它是一個“對象”(字符串)類型。 然后,您根據 key = "cycle" 創建一個名為 "cycles" 的 groupy object,然后應用“聚合” function,在您的情況下為“mean”。

for column in df.loc[:, df.columns != 'cycle']:
    df[column] = df[column].astype(float)


cycles = df.groupy("cycle")
cycles.mean(axis = 0)

或直接

df.groupy("cycle").mean(axis = 0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM