首页 > 解决方案 > 在python中为新的日期格式组合列

问题描述

我是 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

我想将 YEAR MONTH DAY HOUR MINUTE 合并到一个格式为 YEAR:MONTH:DAY:HOUR:MINUTE 的新列中(然后用该列索引 T 数据)并进行一些分析。我的第一个问题是如何创建这样一个新列?第二个是我可以像(YEAR:MONTH:DAY:HOUR:MINUTE > 2007:04:13:04:44)这样的列进行比较和分析吗?干杯。

标签: pythondatetimetimeformattingmultiple-columns

解决方案


如果您的数据由整数而不是字符串组成,您可以使用它来创建日期时间索引:

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) 

推荐阅读