在pandas数据帧中将hhmms转换为hh

时间:2017-04-22 20:14:45

标签: python pandas dataframe

我有一个格式为hhmm的列,例如:1243。我需要从那个专栏中拿走......(i,e 12)。请指教 hhmm的列格式为int

2 个答案:

答案 0 :(得分:0)

如果您的列具有Timestamp或Datetime之类的值,请使用.hour方法。

import pandas
dr = pandas.date_range('2017-01-01T11:30:00Z', '2017-02-01T11:30:00Z', freq='D')
data = pandas.Series(range(len(dr), index=dr)
data.index.map(lambda x: x.hour)

或者如果你有一个DataFrame:

df['times'] = df['times'].map(lambda x: x.hour)

答案 1 :(得分:0)

如果您的专栏是int,则以下内容应该有效:

import pandas as pd

df = pd.DataFrame()
df['hhmm_format'] = [1243, 1151, 1211]

df['hh_only'] = df['hhmm_format'].apply(lambda x: str(x)[:2])

df

hhmm_format hh_only
0   1243    12
1   1151    11
2   1211    12

如果您需要转换回来:

df.hh_only = pd.to_numeric(df.hh_only)