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

2024-09-29 17:21:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,其中一列有参与者的全名,另一列有特定年份的出席人数。每个参与者的名字在当年的出席人数中出现多次。我想为一个特定的人添加出勤值,看看他们总共参加了多少次。现在我正在使用这个命令,但它会添加“出席”列中的所有值。你知道吗

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

Tags: 数据命令名字参与者smithsumquestion年份
1条回答
网友
1楼 · 发布于 2024-09-29 17:21:53

假设您希望按学生(而不是一次只针对一个学生)计算总数,则需要按操作分组。例如,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

相关问题 更多 >

    热门问题