python - python 中的一系列进程的链接

标签 python pandas method-chaining

我想在 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/

相关文章:

error-handling - 在管理错误的同时在管道中链接 REST 调用

python - 在 QscrollArea 上禁用鼠标滚轮滚动

python - 将行 reshape 为 Pandas 数据框中的列

javascript - 函数式编程 - 链式过滤器/映射调用之间的 then()

python - 词汇散布图是seaborn

python - 如何根据行/列名称将一个数据框的列附加为另一个数据框的行?

Python/Pyspark - 正确的方法链顺序规则

python - 在程序中使用大量 %s,如何将变量放在多行的末尾?

python - 为什么 sshtunnel 模块将未知行打印到标准输出?

python - python 3中类 'bytes'的不同表示