male_counts = df.groupby('籍贯')['性别']['男'].value_counts().unstack()这段代码如何改进
时间: 2023-05-27 21:03:12 浏览: 46
Pandas面试题.pdf
这段代码可以改进为:
1. 使用pd.pivot_table()函数来实现数据透视表的功能,更加清晰简洁。
2. 对于统计男性人数,可以直接筛选性别为男性的行,不用通过unstack()函数来实现。例如:df[df['性别']=='男']。
修订后的代码如下:
```
male_counts = pd.pivot_table(df[df['性别']=='男'], index='籍贯', columns='性别', aggfunc='count', fill_value=0)['姓名']
```
阅读全文