gpt4 book ai didi

csv - 如何从导入的 csv 文件中索引日期时间列 - pandas

转载 作者:行者123 更新时间:2023-12-02 15:19:37 25 4
gpt4 key购买 nike

我正在尝试合并和附加不同的时间序列,从 csv 文件导入它们。我尝试了以下基本代码:

import pandas as pd
import numpy as np
import glob
import csv
import os

path = r'./A08_csv' # use your path
#all_files = glob.glob(os.path.join(path, "A08_B1_T5.csv"))

df5 = pd.read_csv('./A08_csv/A08_B1_T5.csv', parse_dates={'Date Time'})
df6 = pd.read_csv('./A08_csv/A08_B1_T6.csv', parse_dates={'Date Time'})

print len(df5)
print len(df6)

df = pd.concat([df5],[df6], join='outer')
print len(df)

结果是:

12755 (df5)
24770 (df6)
12755 (df)

df 不应该和两个文件中最长的一个一样长(就 ['Date Time'] 列的值而言,它们有很多共同的行)??

我尝试根据日期时间索引数据,添加这一行:

#df5.set_index(pd.DatetimeIndex(df5['Date Time']))

但是我收到错误:

KeyError: 'Date Time'

关于为什么会发生这种情况的任何线索?

最佳答案

我认为你需要:

df5.set_index(['Date Time'], inplace=True)

或者在read_csv中更好添加参数index_col:

import pandas as pd
import io

temp=u"""Date Time,a
2010-01-27 16:00:00,2.0
2010-01-27 16:10:00,2.2
2010-01-27 16:30:00,1.7"""

df = pd.read_csv(io.StringIO(temp), index_col=['Date Time'], parse_dates=['Date Time'])
print (df)
a
Date Time
2010-01-27 16:00:00 2.0
2010-01-27 16:10:00 2.2
2010-01-27 16:30:00 1.7

print (df.index)
DatetimeIndex(['2010-01-27 16:00:00', '2010-01-27 16:10:00',
'2010-01-27 16:30:00'],
dtype='datetime64[ns]', name='Date Time', freq=None)

另一种解决方案是按顺序添加到参数列 - 如果列 Date Time 在第一位,则将 0 添加到 index_colparse_dates (python 从 0 开始计数):

import pandas as pd
import io


temp=u"""Date Time,a
2010-01-27 16:00:00,2.0
2010-01-27 16:10:00,2.2
2010-01-27 16:30:00,1.7"""

df = pd.read_csv(io.StringIO(temp), index_col=0, parse_dates=[0])
print (df)
a
Date Time
2010-01-27 16:00:00 2.0
2010-01-27 16:10:00 2.2
2010-01-27 16:30:00 1.7

print (df.index)
DatetimeIndex(['2010-01-27 16:00:00', '2010-01-27 16:10:00',
'2010-01-27 16:30:00'],
dtype='datetime64[ns]', name='Date Time', freq=None)

关于csv - 如何从导入的 csv 文件中索引日期时间列 - pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38230642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com