根据不同列python中的名称在列中添加值

时间:2017-07-06 17:32:02

标签: python pandas dataframe

我有一个包含参与者列的数据框。全名,以及另一个出席特定年份的专栏。每个参与者的姓名在该年度出席时多次出现。我想为特定的人添加出勤值,以查看他们参加的总次数。现在我正在使用此命令,但它会在考勤列中添加所有值。

StudentinfoAll['Attendance_x'].sum(axis=0) 

如何对其进行编辑,以便为我提供特定人员的出勤值总和?谢谢你的帮助。

这是我的数据框架的样子 这是它的样子

Full Name  Attendance  Question 1  Question 2
Dan Smith      4         3.0           2.0
Erika Jones    5         6.0           0.0
Dan Smith      3         5.0           7.0
Erika Jones    5         5.0           3.0

1 个答案:

答案 0 :(得分:0)

假设您想要学生总数(不仅仅是一次一个学生),您需要按操作分组。例如,使用test.csv输入:

Full Name,Attendance,Question 1,Question 2
Dan Smith,4,3.0,2.0
Erika Jones,5,6.0,0.0
Dan Smith,3,5.0,7.0
Erika Jones,5,5.0,3.0

以及一些聚合代码:

import numpy as np
import pandas as pd

df = pd.read_csv('test.csv')
print df.groupby('Full Name').agg({'Attendance': np.sum})

您获得以下输出(全名出席):

             Attendance
Full Name              
Dan Smith             7
Erika Jones          10