关键错误帖子的解决方案都没有解决我的问题,因此有一个问题:
我在Pandas数据框中有以下列:
df['EventDate']
0 26-12-2016
1 23-12-2016
2 16-12-2016
3 15-12-2016
4 11-12-2016
5 10-12-2016
6 07-12-2016
现在,我尝试使用以下命令拆分日期并将年份的最后四个值提取到另一个序列中:
^{pr2}$现在使用第三个索引值,我可以得到整个值:
df.year=trial[2]
正在检查年份列的数据类型:
type(df.year)
Out[80]: pandas.core.series.Series
是的,这是熊猫系列通过试用[2]代码转移到df.年在
print(trial[2])
0 2016
1 2016
2 2016
3 2016
4 2016
现在,我尝试按年份列分组,这就是我得到错误的地方:
yearwise=df.groupby('year')
Traceback (most recent call last):
File "<ipython-input-81-cf39b80933c4>", line 1, in <module>
yearwise=df.groupby('year')
File "C:\WINPYTH\python-3.5.4.amd64\lib\site-
packages\pandas\core\generic.py", line 4416, in groupby
**kwargs)
File "C:\WINPYTH\python-3.5.4.amd64\lib\site-
packages\pandas\core\groupby.py", line 1699, in groupby
return klass(obj, by, **kwds)
File "C:\WINPYTH\python-3.5.4.amd64\lib\site-
packages\pandas\core\groupby.py", line 392, in __init__
mutated=self.mutated)
File "C:\WINPYTH\python-3.5.4.amd64\lib\site-
packages\pandas\core\groupby.py", line 2690, in _get_grouper
raise KeyError(gpr)
KeyError: 'year'
你能帮助解决这个KeyError并获得Groupby值for Year列吗?在
感谢您的回答。在
最根本的误解是你认为
在
^{pr2}$df
中创建一个名为year
的列,但这不是真的!注意:那么,什么是
df.year
?它是df
的属性,与列不同。在python中,可以使用dot
符号来分配属性,这样就不会抛出错误。您可以通过打印df.__dict__
进行确认:如果要实际分配给列,则需要使用
[...]
索引语法,如下所示:相关问题 更多 >
编程相关推荐