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

如何使用Python的pd.append函数向DataFrame插入指定时间的两行数据

解决方法

要实现你的需求,我们可以通过转换时间格式→构造插入数据→合并→排序的步骤完成,以下是具体实现:

完整代码示例

import pandas as pd

# 初始化原始DataFrame
df = pd.DataFrame({
    'Date_time': ['10/8/2022 6:30:00', '10/8/2022 7:40:00'],
    'State': ['State A', 'State B'],
    'Time_in_state(Hour)': [1.3, 0.3]
})

# 将时间列转为datetime类型(保证后续排序逻辑正确)
df['Date_time'] = pd.to_datetime(df['Date_time'])

# 构造需要插入的两行数据
insert_data = pd.DataFrame({
    'Date_time': ['10/8/2022 7:00:00', '10/8/2022 7:00:00'],
    'State': ['State A', 'State A'],
    'Time_in_state(Hour)': [0.5, 0.667]
})
insert_data['Date_time'] = pd.to_datetime(insert_data['Date_time'])

# 使用pd.append合并数据(ignore_index避免索引重复)
result_df = df.append(insert_data, ignore_index=True)

# 按时间排序并重置索引,得到目标顺序
result_df = result_df.sort_values('Date_time').reset_index(drop=True)

print(result_df)

关键步骤说明

  1. 时间格式转换:把Date_time列转为datetime类型,避免字符串排序导致的时间顺序错误。
  2. 构造插入数据:严格按照目标格式创建两行待插入的记录,同样转换时间类型保证一致性。
  3. 合并与排序:用pd.append合并后,通过sort_values按时间排序,确保插入的两行处于正确位置。

版本兼容提示

pd.append在pandas 1.4.0及以上版本已被标记为弃用,若需要兼容新版本,可将合并步骤替换为pd.concat:

result_df = pd.concat([df, insert_data], ignore_index=True)

内容的提问来源于stack exchange,提问作者tungage

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 22:55:48