gpt4 book ai didi

python pandas indexing matplot 省略图中的一个索引

转载 作者:太空宇宙 更新时间:2023-11-04 05:13:17 25 4
gpt4 key购买 nike

我有一个名字、州、年份、性别和名字出现次数的列表。我正在尝试绘制多年来所有州合并的给定名称。

allyears.head()

结果如下:

    name    sex number  year    state
0 Mary F 7065 1880 FL
1 Anna F 2604 1880 NY
2 Emma F 2003 1880 AZ
3 Eli F 1939 1880 AS
4 Minnie F 1746 1880 AK

然后我做索引:

allyears_indexed = allyears.set_index(['sex','name', 'state', 'year']).sort_index()


通过我的函数:

def plotname(sex,name):
data = allyears_indexed.loc[sex,name]

pp.plot(data.index,data.values)


然后我想把这些年来所有州的所有“Emma”合并起来:

plotname('F', 'Emma')

但我得到了一个错误和一个空的情节!
但是,当我将“状态”参数传递给函数并在调用中提供状态名称时,我得到了“艾玛在那个特定状态下的岁月”。
多年来,我如何才能将所有州结合起来并保持相同的索引模式?

最佳答案

我相信您首先需要对年份和姓名进行分组,然后使用 loc 访问结果数据。 groupby 将对所有状态求和。

df = allyears.groupby(['year', 'name'], as_index=False).number.sum()
>>> df
year name number
0 1880 Anna 2604
1 1880 Eli 1939
2 1880 Emma 2003
3 1880 Mary 7065
4 1880 Minnie 1746

>>> df.loc[df.name == 'Emma']
year name number
2 1880 Emma 2003

绘制它:

df.loc[df.name == 'Emma', ['year', 'number']].set_index('year').plot(title='Emma')

关于python pandas indexing matplot 省略图中的一个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42459438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com