添加 Asia/Singapore 时间戳作为 Pandas 数据框中的第一列
Adding Asia/Singapore Time stamp as the first column in Pandas dataframe
我正在尝试添加一个 Asia/Singapore 时间戳作为以下 pandas 数据帧的第一列,并将其命名为 'sdc_sequence_id'.
id col1 col2
01 A B
02 C D
03 E F
预期数据帧:
sdc_sqeuence_id id col1 col2
2002-10-27 12:00:00 01 A B
2002-10-27 12:00:02 02 C D
2002-10-27 12:00:02 03 E F
我试过这样做
df2['sdc_squence_id'] = df2['sdc_squence_id'].dt.tz_localize('Asia/Singapore'
但这给了我一个关键错误..
帮助将不胜感激。
尝试:
df["sdc_squence_id"] = datetime.strftime(datetime.now(pytz.timezone('Asia/Singapore')), "%Y-%m-%d %H:%M:%S")
说明:
- 获取特定时区的本地时间:
- 使用pytz获取时区:
tz = pytz.timezone('Asia/Singapore')
- 这篇discussion详细解释了如何获取当地时间
asia_time = datetime.now(tz)
- 根据需要格式化本地时间:
datetime.date.strftime
可以胜任
- 这篇tutorial详细解释了如何处理日期时间格式
formated_datetime = datetime.strftime(asia_time, "%Y-%m-%d %H:%M:%S")
- 将新列添加到熊猫
dataframe
:
- 这篇 discussion 解释了如何实现它。
df["sdc_squence_id"] = formated_datetime
代码
# Import modules
import pandas as pd
# Get local timezone time
import pytz
# Create datetime object
from datetime import datetime
tz = pytz.timezone('Asia/Singapore')
print(tz)
# Asia/Singapore
asia_time = datetime.now(tz)
print(asia_time)
# 2020-03-24 17:22:37.409483+08:00
# Format datetime
formated_datetime = datetime.strftime(asia_time, "%Y-%m-%d %H:%M:%S")
# 2020-03-24 17:22:37
# Create new column
df["sdc_squence_id"] = formated_datetime
print(df)
# id col1 col2 sdc_squence_id
# 0 1 A B 2020-03-24 17:22:37
# 1 2 C D 2020-03-24 17:22:37
# 2 3 E F 2020-03-24 17:22:37
我正在尝试添加一个 Asia/Singapore 时间戳作为以下 pandas 数据帧的第一列,并将其命名为 'sdc_sequence_id'.
id col1 col2
01 A B
02 C D
03 E F
预期数据帧:
sdc_sqeuence_id id col1 col2
2002-10-27 12:00:00 01 A B
2002-10-27 12:00:02 02 C D
2002-10-27 12:00:02 03 E F
我试过这样做
df2['sdc_squence_id'] = df2['sdc_squence_id'].dt.tz_localize('Asia/Singapore'
但这给了我一个关键错误.. 帮助将不胜感激。
尝试:
df["sdc_squence_id"] = datetime.strftime(datetime.now(pytz.timezone('Asia/Singapore')), "%Y-%m-%d %H:%M:%S")
说明:
- 获取特定时区的本地时间:
- 使用pytz获取时区:
tz = pytz.timezone('Asia/Singapore')
- 这篇discussion详细解释了如何获取当地时间
asia_time = datetime.now(tz)
- 根据需要格式化本地时间:
datetime.date.strftime
可以胜任- 这篇tutorial详细解释了如何处理日期时间格式
formated_datetime = datetime.strftime(asia_time, "%Y-%m-%d %H:%M:%S")
- 将新列添加到熊猫
dataframe
:- 这篇 discussion 解释了如何实现它。
df["sdc_squence_id"] = formated_datetime
代码
# Import modules
import pandas as pd
# Get local timezone time
import pytz
# Create datetime object
from datetime import datetime
tz = pytz.timezone('Asia/Singapore')
print(tz)
# Asia/Singapore
asia_time = datetime.now(tz)
print(asia_time)
# 2020-03-24 17:22:37.409483+08:00
# Format datetime
formated_datetime = datetime.strftime(asia_time, "%Y-%m-%d %H:%M:%S")
# 2020-03-24 17:22:37
# Create new column
df["sdc_squence_id"] = formated_datetime
print(df)
# id col1 col2 sdc_squence_id
# 0 1 A B 2020-03-24 17:22:37
# 1 2 C D 2020-03-24 17:22:37
# 2 3 E F 2020-03-24 17:22:37