如何从独立的time和date列创建datetime64[ns]格式列并保留原列?
解决方案
问题出在你用了df.pop()方法——这个方法会把指定列从DataFrame中移除并返回该列的值,所以原有的time和date列会消失。要保留这两列,直接引用原列名计算即可,不要用pop():
import pandas as pd # 读取数据 df = pd.read_csv('file.csv') # 生成datetime列,直接使用原列,不删除它们 df['datetime'] = pd.to_datetime(df['date']) + pd.to_timedelta(df['time']) # 可选:调整列顺序,把datetime放到最前面 df = df[['datetime', 'time', 'date']]
执行后datetime列会自动是datetime64[ns]格式,同时原有的time和date列完全保留,最终结果和你期望的一致。
内容的提问来源于stack exchange,提问作者prof31
相关产品推荐
相关产品推荐

