关于python:Pandas groupby count仅返回一列?

Pandas groupby count returns only a column?

我对pandas编程很陌生。我有一个文件excel,我将其放入数据框中,并尝试使用count()来对属性进行分组,如下面的代码所示,然后在绘图栏中显示我分组的这些项目的频率( y轴为频率,x轴为项目):

1
2
3
4
red_whine=pd.read_csv('winequality-red.csv',header=1,sep=';',names=['fixed_acidity','volatile_acidity',...])
frequency=red_whine.groupby('quality')['quality'].count()
pdf=pd.DataFrame(frequency)
print(pdf[pdf.columns[0]])

但是,如果执行此操作,此代码将向我显示以下结果,就像它是唯一列一样:

1
2
3
4
5
6
7
quality
3     10
4     53
5    680
6    638
7    199
8     18

如何将两列分开?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import urllib2  # By recollection, Python 3 uses import urllib

target_url ="http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv"
wine = pd.read_csv(urllib2.urlopen(target_url), sep=';')

vc = wine.quality.value_counts()
>>> vc
5    681
6    638
7    199
4     53
8     18
3     10
Name: quality, dtype: int64

>>> vc.index
Int64Index([5, 6, 7, 4, 8, 3], dtype='int64')

>>> vc.values
array([681, 638, 199,  53,  18,  10])

有关绘图,请参考:
使用pandas和matplotlib

绘制分类数据