2017-09-09 100 views
0

Data Frame[1Python的Matplotlib ValueError异常

嗨, 如何绘制的附加数据帧中的蟒蛇,我期待的多系列线图。

任何帮助将不胜感激。

Error:-ValueError: could not convert string to float

感谢

+0

您需要将字符串显式转换为浮点数,显示您的代码,我们可能会提供帮助。 – cdarke

+0

我已经将上表转换为csv格式的数据帧,并绘制如下: d1 = pd.read_csv('Data.csv') plt.plot(d1) – iahmed

+2

不,你没有。熊猫不知道如何将你的csv中的字符串转换为浮点数,因为外部元素 - 在这种情况下是%符号。因此,它将它们作为字符串。 – cge

回答

0

你这里的问题是,在CSV文件中的%符号正在读大熊猫每个值作为一个字符串对象,而不是作为一个浮动。

解决此问题的最佳选择可能是在您的csv文件中无处不存在无关字符(如%s)。相反,列出列中的单位或描述中的其他位置可能更有意义。

然而,在这种情况下,还可以在以后通过去除多余的字符和手动转换,例如,用于数据帧a解决:

a.ix[:,a.dtypes==object] = a.ix[:,a.dtypes==object].applymap(lambda x: float(x[:-1])) 

这将在您的一个%特定情况下工作最后成为违规字符始终如此:

  • 此处的索引选择所有属于dtype'object'的列,在这种情况下,这些列都是具有最后一个字符%的所有字符串。
  • 应用于每个元素的lambda函数从字符串中移除最后一个字符,然后将其转换为浮点数。
  • 然后它被分配到相同的列。
+0

它确实有效,你简直太棒了,非常感谢你的迅速反应..非常感谢 – iahmed