在Python中一起使用pandas groupby和numpy

高塔姆·米什拉(Gautam Mishra)

我是python的新手!

我需要在np.where()下使用pd.groupby()函数。

以下是我的数据集的屏幕截图:

在此处输入图片说明

以下是我的代码:

df = pd.read_csv("/Users/gautam/Desktop/data.csv")
df.head()

grouped = df.groupby('Occupation')['Emp_Code'].count() #Calculating Count of Employees by Occupation

np.where(df['Gender']=='M', df.groupby('Occupation')['Emp_Code'].count()/grouped*100,0)

基本上,我需要计算每个职业的男性比例。

任何帮助将不胜感激。

耶斯列尔

GroupBy.transform与布尔掩码的平均值一起使用,因此获得Series与原始掩码相同的大小,因此可以传递给np.where新列:

df = pd.DataFrame({
        'Occupation':list('dddeee'),
         'Emp_Code':list('aabbcc'),
         'Gender':list('MFMFMF')
})
print (df)
  Occupation Emp_Code Gender
0          d        a      M
1          d        a      F
2          d        b      M
3          e        b      F
4          e        c      M
5          e        c      F

m = df['Gender'].eq('M')
df['new'] = np.where(m, m.groupby(df['Occupation']).transform('mean').mul(100), 0)
print (df)
  Occupation Emp_Code Gender        new
0          d        a      M  66.666667
1          d        a      F   0.000000
2          d        b      M  66.666667
3          e        b      F   0.000000
4          e        c      M  33.333333
5          e        c      F   0.000000

如果要用normlize值填充新的DataFrame,则可以使用crosstabnormalize参数一个可能的解决方案

df2 = pd.crosstab(df['Occupation'], df['Gender'],normalize='index')
print (df2)
Gender             F         M
Occupation                    
d           0.333333  0.666667
e           0.666667  0.333333

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Pandas 中一起使用 groupby、select、count(*) 和 SQL 的 where 命令

在SQL中一起使用AND和OR

如何在python中一起使用.join()和.format()

在python中一起使用不等于和nan

如何在Python中一起使用filter,group by和agg函数

Python:font_name和粗体属性无法在kivy中一起使用

在python中一起使用范围和长度函数

您如何在Groovy中一起使用GroupBy和Sum?

在mysql中一起使用order by和group by

在postgres中一起使用REPLACE和LIKE

*和&在函数签名中一起使用

在Retrofit中一起使用@Field和@Body参数

在C中一起使用fscanf和fprintf

在IntelliJ IDEA中一起使用Git和Subversion

在MS Excel IF函数中一起使用AND和OR子句

在 R 中一起使用 lapply 和 lm 函数

如何使用python在excel中一起获取单元格的行值和列值(日期)

如何在python中一起做一个衬里“ if”和“ for-loop”

Pandas / Numpy:将多个条件语句与Numpy一起使用where和transform

wxpython和PyQt可以在同一GUI中一起使用吗?

在字符串中一起使用一个反斜杠和引号

Ansible 嵌套循环和条件在同一任务中一起使用

Redux和Context API在同一React Native项目中一起使用

使用 Lucene 在一个句子中一起搜索短语和单词

将Pandas数据框groupby.filter与自己的函数和参数一起使用

将Pandas groupby()+ apply()与参数一起使用

如何使用 BlazeJS 在 MeteorJS 中一起使用 Chessboard.js 和 Chess.js?

如何在while和foreach循环中一起使用PHP和MySQL?

如何在python中一起传递默认和可变长度参数?