【发布时间】:2021-04-01 15:09:15
【问题描述】:
我有一个如下所示的数据框,但我的真实数据框有数百万行
te_df = pd.DataFrame({'subject_id':[1,1,1,2,2,2,3,3],
'test':['test1','test2','test3','test1','test2','test3','test1','test4'],
'0-24hrs':[1,1,1,2,1,1,np.nan,np.nan],
'24-48hrs':[np.nan,np.nan,np.nan,1,1,1,2,1],
'48-72hrs':[2,3,1,3,3,np.nan,np.nan,np.nan]
})
我想找出每 24 小时(使用 0-24hrs、24-48hrs、48-72hrs)进行测试的次数(识别 using test column)
我尝试了以下
df_out = pd.DataFrame()
df_out['1st_24'] = te_df.groupby('test')['0-24hrs'].median()
df_out['2nd_24'] = te_df.groupby('test')['24-48hrs'].median()
df_out['3rd_24'] = te_df.groupby('test')['48-72hrs'].median()
除了重复三次相同的行之外,还有其他有效且优雅的方法来找到它吗?因为我的真实数据框有数百万行
【问题讨论】:
-
te_df.groupby('test').median()有什么问题?
标签: python pandas dataframe pandas-groupby series