我有这个DataFrame
StudentID Name Assignment1 Assignment2 Assignment3.. Assignment'n'
0 s1 user1 7 7 -3
1 s2 user2 2 10 10
2 s3 user3 12 10 10
3 s4 user4 4 2 10
4 s5 user5 -3 7 2
我需要分散Assignment1,...,Assignment'n'
值。
在地图上x axis = Assignment1,...,Assignment'n'
和y axis=[-3,0,2,4,7,10,12]
,这是分配列上的值。
我很丢失,所以我想知道是否有人提示如何解决这个问题?
答案 0 :(得分:2)
首先,您正在寻找line chart,而不是scatter plot。当您绘制两个相似的变量时,会使用散点图。例如,如果您想针对Assignment1
绘制Assignment2
。这将让您了解两项作业中的学生表现。如果你想做图形回归等等,这很有用。
其次,Pandas对于一个类大小的表来说是一种过度杀伤力。事实上,我根本不会使用Python。 R将是一个更好的选择,因为您可以使用更简单的类型(如数组)并具有行和列的名称。此外,可以直接访问绘图功能。但是,既然你已经开始研究熊猫......
所以,你需要导入一些东西:
import matplotlib.pyplot as plt
import matplotlib
matplotlib.styles.use('ggplot') # much better plot styles.
# There are others available, look them up if you want.
现在,你将创建一个数字:
plt.figure()
您可以在其上绘制数据。由于您希望绘制所有列的数据,从第3列开始,我们只需使用.iloc
df.iloc[:,2:].plot()
您现在可以设置轴限制,轴标签,修改刻度线等。我会让您自己计算出所有这些。
你最终需要实际绘制你的情节:
plt.show()