计算 pandas 数据框中行子集的平均值和最大值
calculate average and maximum value for subset of rows in pandas dataframe
我的数据框看起来像:
date session time x1 x2 x3 x4 x5 x6
2015-05-22 1 morning Tom 129 1 129 45 67
2015-05-22 1 morning Kate 0 1 670 89 34
2015-05-22 1 noon GroupeId 0 1 45 56 13
2015-05-26 2 noon Hence 129 1 167 7 13
2015-05-26 2 evening Kate 0 987 876 478
2015-05-26 3 night Julie 0 1 567 8
所以我需要计算每个会话每列的平均值和最大值,即每个会话的平均值 X2(示例中的第一、第二或第三,但在实际数据框中我有更多的行和会话),X4 的最大值 x4,每个会话的值 x3 的总和。我找到了很多关于几列平均值的示例,但正如您所见,这并不是我正在寻找的。我尝试了一些方法,例如:multi_df.groupby(level=1).sum().to_csv('output.csv', sep='\t')
用于我尝试通过 multi_df=df.set_index(['session','index'], inplace=False)
创建的多级数据框,但它没有给我可能使 sens
的结果
因此,如有任何像我正在寻找的建议或转型示例,我们将不胜感激
您正在寻找这样的东西吗? (即每列使用特定函数进行聚合的方法?)。
import pandas as pd
import numpy as np
df = pd.io.parsers.read_csv('temp.txt', sep = '\t')
df_agg = df.groupby('session').agg({
'x2' : np.mean,
'x3' : np.sum,
'x4' : np.min,
})
# you can apply more than one function to a column like so:
df_agg_multifunc = df.groupby('session').agg({
'x2' : [np.mean, np.std],
'x3' : [np.sum, np.std],
'x4' : [np.min, np.std],
})
我的数据框看起来像:
date session time x1 x2 x3 x4 x5 x6
2015-05-22 1 morning Tom 129 1 129 45 67
2015-05-22 1 morning Kate 0 1 670 89 34
2015-05-22 1 noon GroupeId 0 1 45 56 13
2015-05-26 2 noon Hence 129 1 167 7 13
2015-05-26 2 evening Kate 0 987 876 478
2015-05-26 3 night Julie 0 1 567 8
所以我需要计算每个会话每列的平均值和最大值,即每个会话的平均值 X2(示例中的第一、第二或第三,但在实际数据框中我有更多的行和会话),X4 的最大值 x4,每个会话的值 x3 的总和。我找到了很多关于几列平均值的示例,但正如您所见,这并不是我正在寻找的。我尝试了一些方法,例如:multi_df.groupby(level=1).sum().to_csv('output.csv', sep='\t')
用于我尝试通过 multi_df=df.set_index(['session','index'], inplace=False)
创建的多级数据框,但它没有给我可能使 sens
因此,如有任何像我正在寻找的建议或转型示例,我们将不胜感激
您正在寻找这样的东西吗? (即每列使用特定函数进行聚合的方法?)。
import pandas as pd
import numpy as np
df = pd.io.parsers.read_csv('temp.txt', sep = '\t')
df_agg = df.groupby('session').agg({
'x2' : np.mean,
'x3' : np.sum,
'x4' : np.min,
})
# you can apply more than one function to a column like so:
df_agg_multifunc = df.groupby('session').agg({
'x2' : [np.mean, np.std],
'x3' : [np.sum, np.std],
'x4' : [np.min, np.std],
})