gpt4 book ai didi

python - 我怎样才能把这个系列放到 Pandas 数据框中?

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:44 24 4
gpt4 key购买 nike

我有一些数据,在使用 groupby 函数后,我现在有一个如下所示的系列:

year
1997 15
1998 22
1999 24
2000 24
2001 28
2002 11
2003 15
2004 19
2005 10
2006 10
2007 21
2008 26
2009 23
2010 16
2011 33
2012 19
2013 26
2014 25

我如何从这里创建一个 pandas 数据框,其中 year 作为一列,另一列名为 sightings

我是 Pandas 新手,所以真的不知道我在做什么。我已经尝试了 reindexunstack 函数,但无法得到我想要的...

最佳答案

您可以使用 reset_index重命名列:

print (df.reset_index())
index year
0 1997 15
1 1998 22
2 1999 24
3 2000 24
4 2001 28
5 2002 11
6 2003 15
7 2004 19
8 2005 10
9 2006 10
10 2007 21
11 2008 26
12 2009 23
13 2010 16
14 2011 33
15 2012 19
16 2013 26
17 2014 25

print (df.reset_index().rename(columns=({'index':'year','year':'sightings'})))
year sightings
0 1997 15
1 1998 22
2 1999 24
3 2000 24
4 2001 28
5 2002 11
6 2003 15
7 2004 19
8 2005 10
9 2006 10
10 2007 21
11 2008 26
12 2009 23
13 2010 16
14 2011 33
15 2012 19
16 2013 26
17 2014 25

另一种解决方案是通过名称列表设置列名:

df1 = df.reset_index()
df1.columns = ['year','sightings']
print (df1)
year sightings
0 1997 15
1 1998 22
2 1999 24
3 2000 24
4 2001 28
5 2002 11
6 2003 15
7 2004 19
8 2005 10
9 2006 10
10 2007 21
11 2008 26
12 2009 23
13 2010 16
14 2011 33
15 2012 19
16 2013 26
17 2014 25

编辑:

有时帮助将参数as_index=False添加到groupby以返回DataFrame:

import pandas as pd

df = pd.DataFrame({'A':[1,1,3],
'B':[4,5,6]})

print (df)
A B
0 1 4
1 1 5
2 3 6

print (df.groupby('A')['B'].sum())
A
1 9
3 6
Name: B, dtype: int64

print (df.groupby('A', as_index=False)['B'].sum())
A B
0 1 9
1 3 6

关于python - 我怎样才能把这个系列放到 Pandas 数据框中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39139359/

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