当前位置: 首页 > 知识库问答 >
问题:

熊猫数据帧列的转换时间格式

戴瑞
2023-03-14

我有一个大熊猫时间帧,它有一个列,这个时间格式:例如05:00:00(小时,分钟,秒)。这些值是通过熊猫从我的SQL数据库中提取的,具有以下查询函数

df = pd.read_sql("SELECT .....'" \
, con=mariadb_connection)

我想将这些时间值转换为分钟(或秒),因为我想对作为我的持续时间变量的值执行线性回归。我该怎么做呢?是否有一种方法可以将这些值(例如,将<code>14:30:00

示例数据帧:

    voltage valueA  Duration  valueB
0   12.45   0.86    14:04:30   9.157145
1   12.52   0.61    14:02:32  10.010095
2   12.24   0.17    14:00:33  10.010095

共有1个答案

莘聪
2023-03-14

演示:

In [143]: df
Out[143]:
       time
0  14:30:00
1  16:27:29

In [144]: df.dtypes
Out[144]:
time    object
dtype: object

In [145]: df['seconds'] = pd.to_timedelta(df['time']).dt.seconds

In [146]: df
Out[146]:
       time  seconds
0  14:30:00    52200
1  16:27:29    59249

In [147]: df.dtypes
Out[147]:
time       object
seconds     int64
dtype: object

更新:@JonClements提出了另一个有趣的想法,将时间(如果持续时间列在MariaDB端具有时间数据类型)转换为SQL端的秒:

df = pd.read_sql("select voltage, valuea, valueb, time_to_sec(duration) as duration from some_table" ,
                  con=mariadb_connection)
 类似资料:
  • 我对熊猫有些陌生。我有一个熊猫数据框,是一行23列。 我想把它转换成一个系列?我想知道做这件事最像蟒蛇的方式是什么? 我试过pd。系列(我的结果),但它抱怨。它还没有聪明到意识到它仍然是数学术语中的“向量”。 谢谢!

  • 我有一个这样的字典列表: 我想把它变成一个熊猫,如下所示: 注意:列的顺序并不重要。 如何将字典列表转换为如上所示的数据帧?

  • 我想读取ArcGIS形状文件的文件,并将其转储到数据帧中。我目前正在使用dbf包。 显然,我已经能够将文件作为一个表加载,但还不能理解如何解析它并将其转换为一个数据帧。怎么做? 这就是我所处的困境: Python将此语句作为输出返回,坦率地说,我不知道该如何处理: 编辑 我的原始示例:

  • 我有一本这样的字典: 我只是想把它转换成一个数据帧,其中的列是,等等,然后将索引设置为当前日期和小时,我将使用该代码作为。 生成的如下所示: 我的第一步是将dict转换为数据帧,就我而言,这段代码应该可以做到这一点: 但是我得到这个错误消息:。 我真的不知道这里有什么问题?任何建议都是很好的,如果有人能够解决将指数调整为bargin的问题,那就更好了。干杯

  • 我使用熊猫数据框来清理和处理数据。但是,我需要将其转换为numpy ndarray,以便使用利用矩阵乘法。我将数据框转换为具有以下内容的列表列表: 这将返回以下结构: 然后我将其转换为如下所示的numpy数组: 然而,以下打印: 给出这个结果: 但是,我需要它们都是numpy数组。如果它不是来自熊猫数据帧,我只是转换一个硬编码列表,那么它们都是Ndarray。当列表是从数据帧生成的时,如何获取该列

  • 在Python3下,我有一个dict,格式如下: 我想使用dict键作为列将其转换为数据帧: 但是,当我尝试以下命令时,我有一个ValueError: