关键词

如何在Pandas DataFrame中把浮点数转换为数据时间

Pandas中,将浮点数转换为日期时间有两种常见的方式:使用to_datetime()函数或使用astype()函数。下面分别详细介绍这两种方法。

使用to_datetime()函数

使用to_datetime()函数可以将浮点数转换为日期时间。to_datetime()函数需要传入一个Series或DataFrame对象,以及日期时间格式的字符串。具体步骤如下:

  1. 构造一个Pandas DataFrame,包含一个浮点数列。
import pandas as pd

df = pd.DataFrame({'time_float': [1632081254.789, 1632081254.123, 1632081254.456]})
  1. 将浮点数列转换为日期时间列,需要指定日期时间格式的字符串。例如,'%Y-%m-%d %H:%M:%S.%f' 表示年-月-日 时:分:秒.毫秒。可以根据实际需要进行更改。
df['time'] = pd.to_datetime(df['time_float'], unit='s', format='%Y-%m-%d %H:%M:%S.%f')

解释一下参数的含义:
- 'time_float':浮点数列的列名。
- unit='s':指定浮点数的单位为秒。
- format='%Y-%m-%d %H:%M:%S.%f':指定日期时间格式的字符串。

  1. 查看转换后的日期时间列。
print(df)

输出结果:

    time_float                    time
0  1632081254.789 2021-09-19 09:40:54.789
1  1632081254.123 2021-09-19 09:40:54.123
2  1632081254.456 2021-09-19 09:40:54.456

使用astype()函数

使用astype()函数可以将浮点数转换为整数,然后使用Pandas的to_datetime()函数将整数转换为日期时间。具体步骤如下:

  1. 构造一个Pandas DataFrame,包含一个浮点数列。
import pandas as pd

df = pd.DataFrame({'time_float': [1632081254.789, 1632081254.123, 1632081254.456]})
  1. 将浮点数列转换为整数列。
df['time_int'] = (df['time_float']).astype(int)

解释一下:使用astype()函数将浮点数列转换成整数列,由于转换后是以秒为单位的整数列,因此可以直接使用Pandas的to_datetime()函数进行日期时间的转换。

  1. 将整数列转换为日期时间列。
df['time'] = pd.to_datetime(df['time_int'], unit='s')

解释一下参数的含义:
- 'time_int':整数列的列名。
- unit='s':指定整数的单位为秒。

  1. 删除整数列。
df = df.drop('time_int', axis=1)

解释一下:由于整数列已经没有用了,因此可以使用drop()函数将其删除。

  1. 查看转换后的日期时间列。
print(df)

输出结果:

    time_float                time
0  1632081254.789 2021-09-19 09:40:54
1  1632081254.123 2021-09-19 09:40:54
2  1632081254.456 2021-09-19 09:40:54

这就是将浮点数转换为日期时间的完整攻略。

本文链接:http://task.lmcjl.com/news/17299.html

展开阅读全文