将数据框中的日期列转换为Unix Python

时间:2020-04-28 11:36:54

标签: python dataframe date unix

我想将数据框中的日期列转换为新列中的unixtime。

Index                  Date Second     Measurement      
0     0 2020-02-24 10:52:38  0.000  0.001155460021
1     1 2020-02-24 10:52:39  0.109  0.001124729984
2     2 2020-02-24 10:52:40  0.203  0.001119069988

我尝试了很多,但总是遇到错误。这不起作用:

laser['unixtime'] = laser['Date'].arrow.timestamp()
laser['unixtime'] = laser['Date'].timestamp()
laser['unixtime'] = time.mktime(laser['Date'].timetuple())

有人可以帮我吗?

打招呼

1 个答案:

答案 0 :(得分:1)

有两个示例的解决方案(一个是“日期”列为字符串,另一个是非字符串)。

import pandas as pd
from datetime import timezone
# Suppress scientific notation in Pandas
pd.set_option('display.float_format', lambda x: f"{x:.0f}")

df = pd.DataFrame()
df["Date"] = pd.date_range(start='2014-08-01 09:00', freq='H', periods=3, tz='Europe/Berlin')
df["DateUnix"] = df.Date.map(lambda x: x.replace(tzinfo=timezone.utc).timestamp())
df


df2 = pd.DataFrame({"Date": ["2020-02-24 10:52:38"]})
# Convert from object to datetime
df2.Date = pd.to_datetime(df2.Date)
df2["DateUnix"] = df2.Date.map(lambda x: x.replace(tzinfo=timezone.utc).timestamp())
df2