在 python 中链接一系列进程
chain a sequence of processes in python
我想在 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
and for count use Series.value_counts
:
pie = data['var1'].isna().value_counts()
或通过 DataFrame.assign
and aggregate GroupBy.size
创建列 aux1
,不需要使用 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 中链接一系列进程。这些过程之一是创建一些变量并使用 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
and for count use Series.value_counts
:
pie = data['var1'].isna().value_counts()
或通过 DataFrame.assign
and aggregate GroupBy.size
创建列 aux1
,不需要使用 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()