我想在 python 中链接一系列进程。这些过程之一是创建一些变量并使用 groupby 函数。实际上,我想从我的原始数据库创建一个新的数据框。我可以在某些方面做到这一点,但我想要更简洁的使用链。我的原始数据库是'df'。首先,我创建一个新的二进制变量,指示特征“var1”是否具有某些属性:NaN 或非 NaN。data = dfdata['aux1'] = data['var1'].map(math.isnan)data['count'] = 1 pie = data.groupby(['aux1'])['count'].sum()在 R 中,我可以这样做:pie = df %>% select('var1') %>% mutate( aux1 = is.na('var1') , count = 1 ) %>% group_by(aux1) %>% summarise(count = sum('count'))python中有一些链条吗?
1 回答
动漫人物
TA贡献1815条经验 获得超10个赞
您可以将 columnvar1与Series.isnacount 使用进行比较Series.value_counts:
pie = data['var1'].isna().value_counts()
或者 create column aux1byDataFrame.assign和 aggregate GroupBy.size,辅助列 with1不是必需的:
pie = data.assign(aux1=data['var1'].isna()).groupby('aux1').size()但是count可以创建列:
pie = data.assign(aux1=data['var1'].isna(), count=1).groupby('aux1')['count'].sum()添加回答
举报
0/150
提交
取消
