我必须根据该级别的行数来计算MultiIndex DataFrame的平均值。
基本上,我必须对最后一列中的值求平均值,方法是将这些值相加并除以每个SKU_ID
索引在Month中的行数。我如何在熊猫中进行?
谢谢
答案 0 :(得分:0)
以与没有MultiIndex时相同的方式。
Button
答案 1 :(得分:0)
未提供MCVE,因此无法准确回答问题。
以下是显示计算特定数据统计量的多索引分组的示例。然后加入结果,以便可以进一步处理统计信息。
根据什么是MCVE提供答案
import pandas as pd
import sys
if sys.version_info[0] < 3:
from StringIO import StringIO
else:
from io import StringIO
data = StringIO("""Customer ID,SKU,Month,Value
C00005,550000,4,16
C00005,560000,5,17
C00005,560000,5,13
C00005,570000,6,18
C00005,570000,6,16
C00005,570000,6,15
C00005,560000,4,18
C00004,570000,5,17
C00004,570000,5,14
C00004,560000,6,16""")
df = pd.read_csv(data, sep=",", index_col=["Customer ID", "SKU", "Month"])
# Get count of month rows for each group
grouped_month_count = df.groupby(['Customer ID', 'SKU', 'Month']).count()
grouped_month_count.columns = ['Month Count']
# get sum of values for each group
summed_values = df.groupby(['Customer ID', 'SKU', 'Month']).sum()
summed_values.columns = ['Value Sum']
result = grouped_month_count.join(summed_values)
result['Average'] = result['Value Sum']/result['Month Count']
print(result)