每当我尝试对U对象执行操作时,我都会收到错误。我总是得到一个KeyError。我已多次尝试绘制U(最后一句)。
export class AlertModalComponent implements OnInit {
@ViewChild('childModal') public childModal: ModalDirective;
@Input() title: string;
constructor() {
}
show() {
this.childModal.show();
}
hide() {
this.childModal.hide();
}
}
我去了以下错误
import pandas as pd
users =pd.read_csv('./users.csv',sep=',',parse_dates=[30])
users.head()
users.columns.get_loc("WhenCreated")
users['Month'] = users['WhenCreated'].dt.month
users.head()
UsersCreatedin2017=users['WhenCreated'] > '2017-01-01'
users2017=users[UsersCreatedin2017].copy()
users2017[['Month','UserPrincipalName']].groupby('Month').count()
u=users2017[['Month','UserPrincipalName']].groupby('Month').count().copy()
u.plot(kind='line', x='Month', y='UserPrincipalName')
我尝试u.plot()但是我得到了以下输出
我想要绘制的数据是:
通过UserPrincipalName
月
1 61
2 53
3 44
4 31
5 34
6 21
7 28
8 196
9 42
答案 0 :(得分:0)
你想在groupby中使用as_index = False(或者之后的reset_index):
In [11]: df = pd.DataFrame([[1, 2], [1, 3], [2, 4]], columns=["A", "B"])
In [12]: df
Out[12]:
A B
0 1 2
1 1 3
2 2 4
In [13]: df.groupby("A").count()
Out[13]:
B
A
1 2
2 1
In [14]: df.groupby("A", as_index=False).count()
Out[14]:
A B
0 1 2
1 2 1
正如你所看到的,没有as_index = False,A在索引而不是列中,这就是plot方法无法找到它的原因(引发KeyError)。