我有这样的数据帧:
cluster org time
1 a 8
1 a 6
2 h 34
1 c 23
2 d 74
3 w 6
Run Code Online (Sandbox Code Playgroud)
我想计算每个群组每个组织的平均时间.
预期结果:
cluster mean(time)
1 15 ((8+6)/2+23)/2
2 54 (74+34)/2
3 6
Run Code Online (Sandbox Code Playgroud)
我不知道如何在熊猫中做到这一点,任何人都可以帮忙吗?
尝试使用groupby计算创建新列.在下面的代码中,我得到了每个日期的正确计算值(参见下面的组),但是当我尝试用它创建一个新列(df ['Data4'])时,我得到了NaN.因此,我尝试在数据框中创建一个新列,其中包含所有日期的"Data3"总和,并将其应用于每个日期行.例如,2015-05-08分为2行(总数为50 + 5 = 55),在这个新列中,我想在两行中都有55行.
import pandas as pd
import numpy as np
from pandas import DataFrame
df = pd.DataFrame({'Date': ['2015-05-08', '2015-05-07', '2015-05-06', '2015-05-05', '2015-05-08', '2015-05-07', '2015-05-06', '2015-05-05'], 'Sym': ['aapl', 'aapl', 'aapl', 'aapl', 'aaww', 'aaww', 'aaww', 'aaww'], 'Data2': [11, 8, 10, 15, 110, 60, 100, 40],'Data3': [5, 8, 6, 1, 50, 100, 60, 120]})
group = df['Data3'].groupby(df['Date']).sum()
df['Data4'] = group
Run Code Online (Sandbox Code Playgroud)