我想将pandas数据框列中的每个值转换为字符串,然后删除一些文本。值是时间。例如,如果值是11:21,我想删除列中每个元素中:右边的每个。 11:21应该转换为11。
答案 0 :(得分:0)
假设您具有以下数据集:
df = pd.DataFrame({
'time': ['09:30:00','09:40:01','09:50:02','10:00:03']
})
df.head()
输出:
如果要使用时间列作为字符串,则可以使用以下代码:
df['hour'] = df['time'].apply(lambda time : time.split(':')[0])
df.head()
输出:
或者可以将时间转换为日期时间,并可以提取小时:
df['hour'] = pd.to_datetime(df['time'], format='%H:%M:%S').dt.hour
df.head()
输出: