【问题标题】:How to convert MMSS and hundredths of seconds to seconds in a new DataFrame column如何在新的 DataFrame 列中将 MMSS 和百分之一秒转换为秒
【发布时间】:2021-11-02 19:51:10
【问题描述】:

DataFrame 通过漂亮的汤来自一个网站。这是数据框的样子:

   Unnamed: 0              Name  G Total Time    Time/G
0           1              Army  7     272:03  38:51.86
1           2  Western Michigan  8     293:05  36:38.13
2           3         Air Force  8     292:09  36:31.13
3           4              Navy  8     285:33  35:41.63
4           5         Minnesota  8     285:23  35:40.38

我想创建一个新列 df_7['Second/G] 将分钟和秒从 df_7['Time/G'] 转换为秒。

我遇到的问题是 Pandas 认为分钟是小时,我收到以下错误:ParserError: hour must be in 0..23: 38:51.86

这是导致错误的代码:

df_7['Time/G'] = df_7['Time/G'].astype('datetime64[ns]')
df_7['Seconds/G'] = df_7['Time/G'].dt.total_seconds()

我尝试将 df_7['Time/G'] 转换为日期时间,但我认为这就是问题所在。我很困惑如何解决这个问题。提前谢谢!

【问题讨论】:

  • 你能在前面加上"0:"吗?

标签: python dataframe beautifulsoup


【解决方案1】:

我在抓取的数据前添加了“0:”。然后将该列转换为timedelta。最后,我创建了一个新列,使用dt.total_seconds() 将分钟转换为秒

df_7['Time/G'] = '0:' + df_7['Time/G'].astype(str)
df_7['Time/G'] = pd.to_timedelta(df_7['Time/G'])
df_7['Seconds/G'] = df_7['Time/G'].dt.total_seconds().astype(float)
df_7

帮助来自:https://blog.duaneleem.com/converting-time-to-seconds-or-minutes-for-an-entire-python-dataframe-csv-column/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 2015-03-01
    • 1970-01-01
    • 2011-01-26
    相关资源
    最近更新 更多