使用Python在表上计算字符串出现的次数

Nauanalima

假设我有一个表,其中有一个名称和一个值,例如:

NAME       VALUE
Artur      2
Cristian   3
Artur      4
Peter      5
Cristian   8
Artur      2

我需要隔离名称和值的总和,例如:

NAME       VALUE
Artur      8
Cristian   11
Peter      5

我怎么做?

我尝试将每一行分开以隔离值,但我只是不知道如何识别重复的名称。

data = open ('data.txt', 'r')

for line in data:
    value = line.split()

我需要对重复的名称进行分组并对其值求和。

锡安索夫

使用熊猫,非常强大的工具:

data = pd.read_csv(fname, sep = "\s+|\t+|\s+\t+|\t+\s+")
by_name_df = data.groupby(by="NAME").sum()
print(by_name_df)

第一行会将csv读取到具有连续定界符的数据帧中(如果您还有任何空白和连续的定界符)。第二行按该NAME分组并对其求和,从而产生按名称求和的输出数据帧。

如果希望名称保留在列中而不是新数据框中的索引的一部分,请使用以下命令:

by_name_df = data.groupby(by="NAME",as_index=False).sum()

生成的输出:

NAME      VALUE     
Artur         8
Cristian     11
Peter         5

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章