在Python中创建具有多个操作的函数

2024-04-24 07:20:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在做一个关于婴儿名字数据的项目。我正在查看从20世纪50年代开始的每十年中最受欢迎的男性和女性婴儿名字。我正在尝试创建一个函数,可以打印出我输入的数据集的最上面的名字。在

到目前为止,我已经成功地为每十年创建了两个数据集(一个是男性,另一个是女性)

这是我的函数代码,但我似乎不知道如何使它工作。。。在

def getTopName(data):
    (data
        .drop(columns =['sex', 'prop'])
        .pivot(index = 'name', columns = 'year', values = 'n')
        .sum(axis=1) = data['decade']
        .sort_values(by = 'decade', ascending = False))
    print data[0:1]

关于如何实现这一点有什么建议吗?在

我的数据如下: my data

它目前是长格式的。从1961年到1960年,我可以创建一个新的函数,其中我可以创建一个新的列。。。1969)可以加在一起吗?在


Tags: columns数据项目函数代码datadef名字
1条回答
网友
1楼 · 发布于 2024-04-24 07:20:54

问题1-每年n最多的名字

df.groupby(by='name', as_index=False)
      .count()
      .nlargest(1, 'number')
      .iloc[0]["name"]

Sample data

问题2-将数据转换为宽格式

Sample data在其上进行测试

pandas中的Pivot不进行聚合。所以我把每年的总数和每十年的总数分开。最后,我加入这两个团队,以获得预期的结果:

^{pr2}$

Joined result table

相关问题 更多 >