如何将时间戳列添加到Pandas数据帧?

时间:2018-02-15 05:18:57

标签: python pandas timestamp

每次我将数据框附加到文本文件时,我希望它包含每行具有相同时间戳的列。时间戳可以是任意时间,只要它与下次将新数据帧附加到现有文本文件时不同。下面的代码插入一个名为TimeStamp的列,但实际上并没有插入datetime值。该列只是空的。我必须忽略一些简单的事情。我究竟做错了什么?

t = [datetime.datetime.now().replace(microsecond=0) for i in range(df.shape[0])]
s = pd.Series(t, name = 'TimeStamp')
df.insert(0, 'TimeStamp', s)

1 个答案:

答案 0 :(得分:1)

我认为最简单的方法是仅使用insert

df = pd.DataFrame({'A': list('AAA'), 'B': range(3)}, index=list('xyz'))
print (df)
   A  B
x  A  0
y  A  1
z  A  2

df.insert(0, 'TimeStamp', pd.datetime.now().replace(microsecond=0))
print (df)
            TimeStamp  A  B
x 2018-02-15 07:35:35  A  0
y 2018-02-15 07:35:35  A  1
z 2018-02-15 07:35:35  A  2

您的工作版本 - 将range(df.shape[0])更改为df.index SeriesDataFrame中的相同索引:

t = [datetime.datetime.now().replace(microsecond=0) for i in df.index]
s = pd.Series(t, name = 'TimeStamp')
df.insert(0, 'TimeStamp', s)