我得到了一个源于以前Python版本的代码(至少我认为是这样),它似乎在Python3上不起作用。我怎样才能克服这个问题
以下是测试数据集:
import pandas as pd
ipl_data = {'Team': ['Riders', 'Riders', 'Devils', 'Devils', 'Kings',
'kings', 'Kings', 'Kings', 'Riders', 'Royals', 'Royals', 'Riders'],
'Rank': [1, 2, 2, 3, 3,4 ,1 ,1,2 , 4,1,2],
'Year': [2014,2015,2014,2015,2014,2015,2016,2017,2016,2014,2015,2017],
'Points':[876,789,863,673,741,812,756,788,694,701,804,690]}
df = pd.DataFrame(ipl_data)
下面是有问题的代码:
grouped = df.groupby('Year')
for name,group in grouped:
print name
print group
我应该得到这个:
2014
Points Rank Team Year
0 876 1 Riders 2014
2 863 2 Devils 2014
4 741 3 Kings 2014
9 701 4 Royals 2014
2015
Points Rank Team Year
1 789 2 Riders 2015
3 673 3 Devils 2015
5 812 4 kings 2015
10 804 1 Royals 2015
2016
Points Rank Team Year
6 756 1 Kings 2016
8 694 2 Riders 2016
2017
Points Rank Team Year
7 788 1 Kings 2017
11 690 2 Riders 2017
但当我启动代码时,我收到了以下错误消息:
Missing parentheses in call to 'print'. Did you mean print(name)?
因此我将代码更改为:
for name,group in grouped:
print(name)
print(group)
我启动了代码,但收到了以下错误消息:
cannot unpack non-iterable int object
代码中有什么错误
你的代码没有错,它给出了你想要的结果
您可能在Python控制台或Jupyter笔记本中以交互方式工作。您的错误消息
(与命令
for name, group in grouped:
相关)表明,在将Python 2print
命令更改为Python 3print()
函数和再次运行for
循环之间,为grouped
变量指定了一个整数值相关问题 更多 >
编程相关推荐