【发布时间】:2017-07-30 22:51:33
【问题描述】:
我正在尝试为我现有的 pandas 文件添加一个新值。我的 pandas 文件是我使用以下代码读取的 .CSV 文件:
import pandas as pd
import numpy as np
import csv
df = pd.read_csv('coordinatesCSV.csv', sep=';', header=None)
df.columns = ['Longitude','Lattitude']
df.head()
Pandas DataFrame 的 .head 部分如下所示
Longitude Lattitude
0 52.379512 4.896694
1 52.379250 4.896995
2 52.379289 4.897574
3 52.378844 4.897918
4 52.378844 4.897918
我想添加一个名为“TimeStamp”的新列。我希望这个时间戳是我使用以下代码生成的随机时间:
def random_date(start,l):
current = start
while l >= 0:
current = current + datetime.timedelta(minutes=randrange(10))
yield current
l-=1
for x in reversed(list(random_date(startDate,1))):
df['Timestamp'] = x
我的函数的问题是它只计算一个随机时间并将其设置为我的 pandas DataFrame 中所有行的值,所以我的数据帧现在如下所示:
Longitude Lattitude Timestamp
0 52.379512 4.896694 2013-09-20 13:00:00
1 52.379250 4.896995 2013-09-20 13:00:00
2 52.379289 4.897574 2013-09-20 13:00:00
3 52.378844 4.897918 2013-09-20 13:00:00
4 52.378844 4.897918 2013-09-20 13:00:00
我如何确保我的函数为我的数据帧的每一行计算一个新的时间戳,而不仅仅是上面的一个时间戳。 非常感谢!
【问题讨论】:
-
别管我在睡觉,通过调整我的代码来解决它:df['Timestamp'] = random_date(startDate,1)
标签: python python-2.7 pandas timestamp