我有一个简化的数据框,可以说:
df = pd.DataFrame({'Letter': ['A', 'B', 'A', 'B','A','B','A','B'], 'T/F': [True, True, False, False,True,False,True,False], 'Number':[5, 6, 7, 8, 9,10,11,12]})
我还有其他df2,该df2已经具有(isAB或isTF)的列。我想要做的是使我的新列像df2.loc [:,'A_True]一样,其平均值为A和True。如果我执行以下操作:
df.groupby(['Letter','T/F'])['Number'].mean()[1::2]
此输出
Letter T/F
A True 8.333333
B True 6.000000
Name: Number, dtype: float64
我希望我的df2包含一个仅是8.33333,6的列。是否需要合并?我正在尝试节省时间,而不是]]
for name,group in df.groupby('Letter'):
df2.loc[df['Letter']==A,'A_True'] = group.loc[group['T/F'==True],'Number'].mean()
我有一个简化的数据框,可以说:df = pd.DataFrame({'Letter':['A','B','A','B','A','B','A' ,'B'],'T / F':[True,True,False,False,True,False,True,False],'Number':[5,6,7,8,9,10,11,12 ]})...
您可以在之前过滤