这是我在StackOverflow上的第一个问题,我已经搜索了很多网站,但没有找到我要找的内容(或者没有注意到)。请不要打击我的积极性 :)
此外,这是我第一次使用Python进行编程,我感到困惑。
我有一个文本文件,里面有三列,用空格分隔。这些列是“DeptID”、“CourseID”和“NumberofStudentsEnrolled”。
以下是样本数据:
所以,每当我调用“DeptID”索引和“CourseID”索引时,程序将给出已注册学生的人数。
例如:
我应该尝试使用矩阵吗?因为我有点迷失了。我知道我想要什么,但我不知道在Python中它被称为什么。
此外,这是我第一次使用Python进行编程,我感到困惑。
我有一个文本文件,里面有三列,用空格分隔。这些列是“DeptID”、“CourseID”和“NumberofStudentsEnrolled”。
以下是样本数据:
101 10001 23
102 10002 30
102 10004 5
102 10005 13
105 10006 59
105 10007 77
所以,每当我调用“DeptID”索引和“CourseID”索引时,程序将给出已注册学生的人数。
例如:
NumberofEnrolled(“101”,“10001”)
应该给出23
作为答案。我应该尝试使用矩阵吗?因为我有点迷失了。我知道我想要什么,但我不知道在Python中它被称为什么。
import numpy
depts = []
courses = []
file = open("C:\\Info.txt", "r")
# SPLIT EVERY LINE INTO 3 PIECES : DeptID , CourseID , Enrolled
for line in file:
depts.append(line.split()[0]) # ADD Depts
courses.append(line.split()[1]) # ADD Courses
# CLOSE THE FILE
file.close()
# I HAVE TRIED NUMPY BUT COULDN'T HANDLE WITH IT.
numpyList = numpy.zeros((57, 57), dtype = numpy.int32)
dept_array = numpy.array(dept)
course_array = numpy.array(course)
test_dict = {}
for i in range(len(dept_array)):
test_dict[dept_array[i]] = course_array[i]
test_dict 输出如下:
{'101': '10001', '102': '10005', '105': '10007'}
这个输出只能获取多个数据的最后一个数据。我猜测我需要一种类型来存储多个键值对。
数据框架
和pandas
。 - Vinícius Figueiredonumpy
或pandas
)解决方案。 - donkopotamus