我试图在 Jupyter Notebook 中使用 Pandas 绘制一个线图,比较 1960-1962 年特定州的谋杀率。
关于我现在所处位置以及我如何到达这里的一些背景信息:
我暂时只对 3 列感兴趣:州、年份和谋杀率。具体来说,我只对 5 个州感兴趣:阿拉斯加州、密歇根州、明尼苏达州、缅因州、威斯康星州。
因此,为了生成所需的表格,我这样做了(仅显示前 5 行条目):
al_mi_mn_me_wi = crimes[(crimes['State'] == 'Alaska') | (crimes['State'] =='Michigan') | (crimes['State'] =='Minnesota') | (crimes['State'] =='Maine') | (crimes['State'] =='Wisconsin')]
control_df = al_mi_mn_me_wi[['State', 'Year', 'Murder Rate']]
Run Code Online (Sandbox Code Playgroud)
从这里我使用了pivot函数
df = control_1960_to_1962.pivot(index = 'Year', columns = 'State',values= 'Murder Rate' )
Run Code Online (Sandbox Code Playgroud)
这就是我陷入困境的地方。我在执行时收到 KeyError (KeyError 是 Year):
df.plot(x='Year', y='Murder Rate', kind='line')
Run Code Online (Sandbox Code Playgroud)
当尝试只是
df.plot()
Run Code Online (Sandbox Code Playgroud)
我得到了这张奇怪的图表。
如何获得我想要的图表?
我有一系列电子邮件地址(大约超过50,000),我有兴趣计算特定电子邮件域的频率.例如,如果我有
emails = [
'Johndoe@gmail.com',
'Johndoe@yahoo.com',
'Johndoe@aol.com',
'Johndoe@someuni.xyz.com',
'Janedoe@gmail.com'
]
Run Code Online (Sandbox Code Playgroud)
我对哪个电子邮件域名出现最感兴趣,我想以'gmail'频率返回2.
为了做到这一点,我认为通过数组并丢弃之前发生的一切@并将域保持为一个新数组,然后我可以迭代,这是一个好主意.我该怎么做?
我有一个数组:array = [[53,600],[9,89],[56,9],...[4,67]]我有兴趣创建一个新list的只有我的每个元素的第一个条目array.所以,我想要的输出是list = [53,9,56,....,4].我怎么做?