Я работаю над созданием программы, которая будет извлекать некоторые данные из предварительно отформатированного файла, который не включает метку времени, но требует ее. Я знаю следующее:
Когда я пишу фрагмент кода для извлечения этих данных, я сталкиваюсь с проблемой, что моя дата обновляется, а мой час - нет. В результате все мои данные имеют правильную дату, но один и тот же час. Я надеюсь, что это просто результат упущения чего-то логичного в результате недосыпания, но я был бы признателен, если бы кто-нибудь мог указать на проблему с моим кодом.
#Paths for files to process
advpath = '/Users/stnixon/Dropbox/GradSchool/Research/EddyCovarianceData/data/palmyra2016/**'
#Create list of files to process
advfiles = glob.glob(os.path.join(advpath,'*.A16'))
#create data frames, load files, concatenate, and sort adv files and dfetfiles
advframe = []
for f in advfiles:
advdf = pd.read_csv(f, sep='\s+', names=['ID','u','v','w','u1','v1','w1','ucorr','vcorr','wcorr'], usecols=[0,1,2,3,7,8,9])
file_now = os.path.basename(f)
print(int(file_now[4:6]))
advdf['Time'] = pd.to_datetime(int(file_now[4:6]),unit='h')
advdf['Date'] = pd.to_datetime('2016'+file_now[0:2]+file_now[2:4])
advframe.append(advdf)
advdata = pd.concat(advframe)
По сути, столбец Date дает мне правильную дату в каждой строке, а столбец Time просто дает мне одно и то же значение для всех.
Абсолютно! Для файла с именем 06281200.A16 каждая строка выглядит так: 1604-234-223 682 78 83 82 92 91 90. Первое число - это бесполезный идентификатор, следующие три - скорость в направлениях x, y и z, следующие 3 - значение коррекции для каждого измерения, а последние три - корреляция для каждого измерения.
Что произойдет, если вы вставите advdf['Time'] = advdf.Time.dt.hour сразу после advdf['Time'] = pd.to_datetime(int(file_now[4:6]),unit='h')? Показывает ли он те же значения?
Те же ценности. Проблема не столько в форматировании, сколько в том, чтобы значения действительно обновлялись ...






Оказывается, это не ошибка, а странное совпадение. Файлы, которые мне нужно было обработать, правильно анализировали час, но они обрабатывались в случайном порядке, и так получилось, что часы для первых двух и последних двух файлов были одинаковыми. Так что в терминале это выглядело так, как будто он не обновлялся.
можете ли вы предоставить образец данных, если это возможно?