我想在 python 中链接一系列进程。这些过程之一是创建一些变量并使用 groupby 函数。
实际上,我想从原始数据库创建一个新的数据框。我可以在某些行中完成它,但我想要一些更简洁的使用链。我的原始数据库是“df”。首先,我创建一个新的二进制变量,指示特征“var1”是否具有某些属性:NaN 或非 NaN。
data = df
data['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中有一些链吗?
最佳答案
您可以将var1
列与Series.isna
进行比较并用于计数 Series.value_counts
:
pie = data['var1'].isna().value_counts()
或者通过DataFrame.assign
创建列aux1
和聚合GroupBy.size
,带有 1
的辅助列不是必需的:
pie = data.assign(aux1=data['var1'].isna()).groupby('aux1').size()
但是可以创建列count
:
pie = data.assign(aux1=data['var1'].isna(), count=1).groupby('aux1')['count'].sum()
关于python - python 中的一系列进程的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57816414/