【问题标题】:How to add time values manually to Pandas dataframe TimeStamp column?如何手动将时间值添加到 Pandas 数据框时间戳列?
【发布时间】:2019-09-19 12:43:06
【问题描述】:

假设我有一个数据框 df 看起来像这样 df

TimeStamp. Column1......Column n.
2017-01-01
2017-01-02
...

但我想要这样

TimeStamp.            Column1......Column n.
2017-01-01 00:00:00
2017-01-02.00:00:00
...

如何将此 (00:00:00) 添加到数据框中的所有时间戳?谢谢

【问题讨论】:

  • 在不知道数据的初始和预期类型(字符串或真实日期/日期时间)的情况下,我无法回答。

标签: python pandas dataframe python-datetime


【解决方案1】:

找到下面的代码:

import pandas as pd
df=pd.DataFrame([{"Timestamp":"2017-01-01"},{"Timestamp":"2017-01-01"}],columns=['Timestamp'])
df_new=df['Timestamp'].apply(lambda k:k+" 00:00:00")

Output:
df_new['Timestamp']

0    2017-01-01 00:00:00
1    2017-01-01 00:00:00
Name: Timestamp, dtype: object

【讨论】:

  • 如果您觉得有用,请投票/接受答案!这将有助于其他人做出决定。
【解决方案2】:
import pandas as pd  
from datetime import datetime, timedelta

Name = ['a', 'b', 'c', 'd']  
Age = [10, 20, 30, 40]  

somedate = datetime.date(datetime.now())
DOB = [somedate]  * 4
somelistdata = list(zip(Name, Age, DOB))  

df = pd.DataFrame(somelistdata, columns = ['Name', 'Age', 'DOB'])  

# problem statement
print(df)
# solution to your problem
df['DOB'] = pd.to_datetime(df['DOB']).dt.strftime('%Y-%m-%d %H:%M:%S')
print(df)

问题陈述

  Name  Age         DOB
0    a   10  2019-09-19
1    b   20  2019-09-19
2    c   30  2019-09-19
3    d   40  2019-09-19

解决方案

  Name  Age               DOB
0    a   10  2019-09-19 00:00:00
1    b   20  2019-09-19 00:00:00
2    c   30  2019-09-19 00:00:00
3    d   40  2019-09-19 00:00:00

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-30
    • 2019-11-19
    • 1970-01-01
    • 2023-03-31
    • 2017-08-27
    • 2022-01-18
    • 2014-12-27
    • 2017-08-26
    相关资源
    最近更新 更多