失去"秒"通过熊猫读取数据的信息' read_csv()

时间:2018-02-19 21:23:38

标签: python pandas

我正在尝试阅读一个只有2列的简单数据:id,timestamp

因为我的时间戳有几秒钟,所以我想保留这些信息。所以我读了许多文章,如:

Error when parsing timestamp with pandas read_csv

Reading a csv with a timestamp column, with pandas

Reading a csv with a timestamp column, with pandas

以及更多....

以下是我在阅读完所有内容后所拥有的内容: 我首先创建了一个简短的函数来帮助我解析时间戳数据,然后在调用read_csv()函数时使用它。

def dateparse (timestamp):
    return pd.datetime.strptime(timestamp, '%Y-%m-%d %H:%M:%S')

data = pd.read_csv(os.path.join(base_dir, data_file), 
                   parse_dates=True, date_parser=dateparse)

但是当我打印数据时,我仍然看不到秒! :(

print(data.head(3))
id   timestamp_utc           
 0   9/1/17 1:24 
 1   9/1/17 1:24 
 2   9/1/17 1:24

任何帮助表示赞赏!

EDIT !!! 根据Jon的建议,我将代码更改为:

data = pd.read_csv(os.path.join(base_dir, data_file), parse_dates=['timestamp_utc'], date_parser=dateparse)

我会收到错误:

ValueError: time data '9/1/17 1:24' does not match format '%m/%d/%y %H:%M:%S'

但如果我不使用解析功能:

data = pd.read_csv(os.path.join(base_dir, data_file), parse_dates=['timestamp_utc'])

我的所有时间戳都有0秒:

print(data.head(3))
id   timestamp_utc           
 0   9/1/17 1:24:00
 1   9/1/17 1:24:00 
 2   9/1/17 1:24:00

编辑2: 以下是我的csv中数据的原貌:

0   24:31.8
1   24:31.9
2   24:32.3
3   24:32.5

这是之后的我更改时间戳数据格式(不推荐....)的方式:(在此处显示更多列以显示秒数不同)

0   9/1/17 1:24:32
1   9/1/17 1:24:32
2   9/1/17 1:24:32
3   9/1/17 1:24:32
4   9/1/17 1:24:33
5   9/1/17 1:24:33
6   9/1/17 1:24:35
7   9/1/17 1:24:35
8   9/1/17 1:24:36
9   9/1/17 1:24:37
10  9/1/17 1:24:38
11  9/1/17 1:24:40

0 个答案:

没有答案