1
情節我有這個簡單的數據幀df
:熊貓 - 根據GROUPBY指數水平
City,H
AMS,1.1
AMS,0.8
AMS,0.9
BOS,0.9
BOS,0.7
BOS,0.6
BOS,0.8
我想根據每個City
的H
列進行排序,然後用不同的顏色繪製每個City
指數。到目前爲止,我開始分組和排序:
d = df.groupby('City').apply(lambda x: x.sort('H', ascending=False))
然後,因爲我想根據排序排名繪製H
值爲每個City
,我添加一列名爲subindex
爲:
d['subindex'] = d.groupby(level=0).cumcount() + 1
生成的數據幀是:
City H subindex
City
AMS 0 AMS 1.1 1
2 AMS 0.9 2
1 AMS 0.8 3
BOS 3 BOS 0.9 1
6 BOS 0.8 2
4 BOS 0.7 3
5 BOS 0.6 4
的格式是什麼,我想,但我不能想通了,爲什麼列City
出現兩次。現在問題是根據subindex
對每個City
,H
值進行繪圖。我想:
for i, group in d:
group.plot(x='subindex', y='H')
收到以下ValueError
:
for i, group in d:
ValueError: too many values to unpack
可迭代從DF退換列,你DF不再是'groupby'但多索引DF ,所以你想'd.index.get_level_values(0).unique()' – EdChum