【发布时间】:2017-08-06 10:29:04
【问题描述】:
按照 URL 中的第一个示例: http://seaborn.pydata.org/tutorial/categorical.html 我能够加载名为“tips”的数据集并重现显示的带状图。但是,当应用于由 datetime 对象组成的我的 pandas 数据框(称为 df)时,不会显示此图。我的 df 由 19300 行和 7 列组成,其中 2 列是日期时间对象的形式(分别是日期和时间)。我想使用 Python Seaborn 包的 stripplot 函数将这两个 df 列可视化在一起。我的代码如下:
sns.stripplot(x=df['DATE'], y=df['TIME'], data=df);
输出错误如下:
TypeError: float() argument must be a string or a number
在应用绘图命令之前,我已确保从数据列中删除标题。 其他失败的尝试包括(但不限于)
sns.stripplot(x=df['DATE'], y=df['TIME']);
我猜这个错误可能是由于列数据类型的 datetype 对象性质,并且这种类型必须以某种方式更改为字符串或整数值。它是否正确?以及如何继续完成这项任务?
为了说明 df 数据,这是一个使用 matplotlib.pyplot (as plt) 的工作代码
ax1.plot(x, y, 'o', label='Events')
非常感谢任何帮助。
【问题讨论】:
-
只是为了说明 df 数据,这是一个使用 matplotlib.pyplot (as plt) 的工作代码: ax1.plot(x, y, 'o', label='Events')输出:dropbox.com/s/8cjtw4oudedy22v/M4_13_01_scatterplot.png?dl=0
-
你应该edit你的问题而不是写新的信息作为评论。报告错误时,您应该提供minimal reproducible example。如果您无法使用通用数据重现问题,您还需要提供您的数据。此外,您需要包含错误的回溯。
-
试试
sns.stripplot(x='DATE', y='TIME', data=df) -
感谢您的提示。不幸的是,这也不起作用。下面显示了类型错误和完整的回溯,以及数据帧内容的打印。 dropbox.com/s/yroa4x14t73y70o/traceback.rtf?dl=0
标签: python datetime matplotlib plot seaborn