如何解决由Pandas.groupby()

时间:2019-06-12 19:13:57

标签: python pandas

首先,这是我正在使用的完整.csv文件:https://github.com/epurpur/UVA-Big-Deal/blob/master/JournalsPerProvider.csv

我正在使用pandas与.csv一起工作,正在对一列中的值求和,然后将其与另一列中的值分组。这是我正在做的简短代码示例。这段代码有效,我得到了预期的结果:

test_data = {"Name": ['Team1', 'Team2', 'Team1', 'Team2', 'Team3'],
         "Points": [1, 2, 11, 2, 5]}

df = pd.DataFrame(test_data)

grouped = df.groupby(['Name'])['Points'].sum()
print(grouped)

这是正确的结果:

Name
Team1    12
Team2     4
Team3     5

当我处理真实数据时,这是我的代码:

data = pd.read_csv('JournalsPerProvider.csv', skiprows=8)

sums_by_field = data.groupby(['Field'])['Downloads JR5 2017 in 2017'].sum()
print(sums_by_field)      

我得到以下TypeError enter image description here

我了解尝试将有冲突的数据类型(例如int)添加到str时会生成此错误。但是我不知道为什么,或者如何解决。 'Downloads JR5 2017 in 2017'列中我的数据集中的所有数据都是整数。那么,为什么不能基于'Field'列中的值将它们加在一起?

我想要的结果如下:

Field
Physics & Astronomy    1000     #These are made-up numbers
Chemistry              700
Clinical Medicine      450

0 个答案:

没有答案