объединение столбцов для нового формата даты в python - PullRequest
0 голосов
/ 19 сентября 2018

Я новичок в Python, поэтому любая помощь или совет очень ценятся, и извините, если я задаю очень очевидные вещи.У меня есть следующие данные:

  WMO_NO  YEAR  MONTH  DAY  HOUR  MINUTE   H     PS    T  RH    TD WDIR   WSP
0    4018  2006      1    1    11      28  38  988.6  0.9  98   0.6  120  14.4
1    4018  2006      1    1    11      28  46  987.6  0.5  91  -0.7  122  15.0
2    4018  2006      1    1    11      28  57  986.3  0.5  89  -1.1  124  15.5
3    4018  2006      1    1    11      28  66  985.1  0.5  90  -1.1  126  16.0
4    4018  2006      1    1    11      28  74  984.1  0.4  90  -1.1  127  16.5

Я хотел бы объединить ГОД МЕСЯЦА ГОДА В МЕСЯЦ ГОДА в новый столбец, отформатированный как ГОД: МЕСЯЦ: ДЕНЬ: ЧАС: МИНУТА (и затем проиндексировать данные Tс этим столбцом) и сделать некоторый анализ.Мой первый вопрос: как мне создать такой новый столбец?Во-вторых, могу ли я сделать сравнения и анализ по этому столбцу, например (ГОД: МЕСЯЦ: ДЕНЬ: ЧАС: МИНУТА> 2007: 04: 13: 04: 44)?Приветствия.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Если ваши данные состоят из целых чисел, а не строк, вы можете использовать это для создания индекса даты и времени:

import pandas as pd
import datetime as dt

columns = ['ID', 'Year', 'Month', 'Day', 'Hour', 'Minute']
data = [ ['1', 2006, 1, 1, 11, 28],
         ['2', 2006, 1, 1, 11, 29]]
df = pd.DataFrame(data=data, columns=columns)

df.index = df.apply(lambda x: dt.datetime(x['Year'], x['Month'], x['Day'], x['Hour'], x['Minute']), axis=1) 
0 голосов
/ 19 сентября 2018

Вы можете использовать to_datetime, а затем при необходимости Series.dt.strftime с пользовательским форматом установите флажок http://strftime.org/:

df['date'] = pd.to_datetime(df[['YEAR','MONTH','DAY','HOUR','MINUTE']])
df['date_new'] = df['date'].dt.strftime('%Y:%m:%d:%H:%M')
print (df)
   WMO_NO  YEAR  MONTH  DAY  HOUR  MINUTE   H     PS    T  RH   TD  WDIR  \
0    4018  2006      1    1    11      28  38  988.6  0.9  98  0.6   120   
1    4018  2006      1    1    11      28  46  987.6  0.5  91 -0.7   122   
2    4018  2006      1    1    11      28  57  986.3  0.5  89 -1.1   124   
3    4018  2006      1    1    11      28  66  985.1  0.5  90 -1.1   126   
4    4018  2006      1    1    11      28  74  984.1  0.4  90 -1.1   127   

    WSP                date          date_new  
0  14.4 2006-01-01 11:28:00  2006:01:01:11:28  
1  15.0 2006-01-01 11:28:00  2006:01:01:11:28  
2  15.5 2006-01-01 11:28:00  2006:01:01:11:28  
3  16.0 2006-01-01 11:28:00  2006:01:01:11:28  
4  16.5 2006-01-01 11:28:00  2006:01:01:11:28  
...