2016-05-10 28 views
1

使用Python 2.7和笔记本电脑,我想展示一个简单的系列,看起来像:熊猫 - 命名的系列一列,并绘制它

year 
2014 1 
2015 3 
2016 2 
Name: mySeries, dtype: int64 

我想:

  1. 命名第二列,我似乎无法成功s.columns = ['a','b']。我们如何做到这一点?
  2. 绘制年代如此写成的结果。当我运行s.plot()我得到的年为x,这是好的,但我得到奇怪的值: Graph

感谢您的帮助!

如果有帮助,这个系列来自于下面的代码:

df = pd.read_csv(file, usecols=['dates'], parse_dates=True) 
df['dates'] = pd.to_datetime(df['date']) 
df['year'] = pd.DatetimeIndex(df['dartes']).year 
df 

这给了我:

dates year 
0 2015-05-05 14:21:00  2015 
1 2014-06-06 14:22:00  2014 
2 2015-05-05 14:14:00  2015 

上,我做的事: s = pd.Series(df.groupby('year').size())

+0

你有一个'Series'所以顾名思义它是'1-D',所以你不能指定多个值'列' – EdChum

+0

这很有道理:)谢谢! – Flag

回答

1

对我来说,通过astype工程投指数字串:

print s 
y 
2014 1 
2015 3 
2016 2 
Name: mySeries, dtype: int64 

s.index = s.index.astype(str) 
s.plot() 

graph

+0

太好了,非常感谢。仍然不太熟悉熊猫! :) – Flag

0

之前只投索引:

df.set_index(df.index.astype(str),inplace=True) 

然后你会得到你所期望的。

+0

谢谢,但不幸的是我正在使用一个系列('系列'对象没有属性'set_index')。我试图在我的系列作品的df上做这个,但后来我不知道如何对索引值进行分组。 – Flag