【问题标题】:Convert Object into Float or String in Pandas DataFrame在 Pandas DataFrame 中将对象转换为浮点数或字符串
【发布时间】:2021-06-24 14:26:27
【问题描述】:

我有一个 DataFrame/CSV 文件,我已经处理过,现在我正在使用 Seaborn 来制作某些图。

我想要做的是将“时间”列从 OBJECT 转换为字符串或数字或 float64,以便我可以将它与作为 float64 的“MW”列进行绘制。我使用 Seaborn 遇到的错误是

"float() 参数必须是字符串或数字,而不是'datetime.time'"

我该怎么做?我尝试了很多方法,包括这里显示的方法:Python convert object to float 但不幸的是,没有运气。

编辑: 以下是一些示例数据:

    MW  date    time    Month   Year    Week    Day
0   0.5814  2013-09-01  01:00:00    9   2013    35  Sunday
1   0.5814  2013-09-01  02:00:00    9   2013    35  Sunday
2   0.5814  2013-09-01  03:00:00    9   2013    35  Sunday
3   0.5814  2013-09-01  04:00:00    9   2013    35  Sunday
4   0.5814  2013-09-01  05:00:00    9   2013    35  Sunday

【问题讨论】:

  • Aberdeen['date']=pd.to_datetime(Aberdeen['date']) 使用它从字符串转换为日期和时间,然后使用引用的方法转换为数字。
  • @r-beginners 我收到一条错误消息,提示 is not convertible to datetime 这不是我想要的日期,而是时间。
  • 如果可能,请提供样本数据。
  • @r-beginners 已发布
  • Aberdeen['time'] = Aberdeen['time'].dt.hour使用这个,您可以将时间列转换为时间的数值。

标签: python pandas dataframe seaborn


【解决方案1】:

我找到了解决办法。

在绘制之前输入此代码。 pd.plotting.register_matplotlib_converters()

之后,我使用 seaborn 作为 sns.lineplot(x=Aberdeen['time'], y=Aberdeen['MW'],data=Aberdeen)

它成功了:)

【讨论】:

    猜你喜欢
    • 2021-07-22
    • 2020-04-21
    • 2013-05-19
    • 1970-01-01
    • 2021-08-11
    • 2016-06-08
    相关资源
    最近更新 更多