You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中将Datetime设为索引并修正DataFrame列名的方法

解决DataFrame格式转换问题

初始数据结构

Close
DatetimeNone
2023-05-10 00:00:00135.222000

目标数据结构

DatetimeClose
2023-05-10 00:00:00135.222000
2023-05-10 00:05:00135.240005

实现代码

import pandas as pd

# 模拟初始DataFrame
df = pd.DataFrame(
    {'Close': [None, 135.222000]},
    index=['Datetime', '2023-05-10 00:00:00']
)

# 1. 重置索引为普通列,命名为Datetime
df = df.reset_index().rename(columns={'index': 'Datetime'})

# 2. 替换第一行的None为Close,将该行设为新表头
df.columns = df.iloc[0].fillna('Close')
# 移除作为表头的行
df = df.drop(df.index[0])

# 3. 设置Datetime为索引
df = df.set_index('Datetime')

# 4. 转换Close列为浮点类型(可选,确保数值可用性)
df['Close'] = df['Close'].astype(float)

代码说明

  • 重置索引是为了把原索引里的Datetime标识和时间值转为普通列,方便后续调整表头。
  • 用fillna('Close')直接替换第一行的None为目标列名,再将该行设为新表头,同时移除原表头行。
  • 最后设置Datetime为索引,匹配目标格式,转换数值列类型保证数据可用于后续计算。

内容的提问来源于stack exchange,提问作者Muhammad Usama Naveed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 20:04:56