分散绘制数据框中的多个列

时间:2015-11-24 18:13:18

标签: python pandas plot

我有这个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],这是分配列上的值。

我很丢失,所以我想知道是否有人提示如何解决这个问题?

1 个答案:

答案 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()