【Pandas】pandas DataFrame at_time

Pandas2.2 DataFrame

Reindexing selection label manipulation

方法描述
DataFrame.add_prefix(prefix[, axis])用于在 DataFrame 的行标签或列标签前添加指定前缀的方法
DataFrame.add_suffix(suffix[, axis])用于在 DataFrame 的行标签或列标签后添加指定后缀的方法
DataFrame.align(other[, join, axis, level, …])用于对齐两个 DataFrameSeries 的方法
DataFrame.at_time(time[, asof, axis])用于筛选 特定时间点 的行的方法

pandas.DataFrame.at_time()

pandas.DataFrame.at_time(time, asof=False, axis=None) 是一个用于筛选 特定时间点 的行的方法,常用于时间序列数据中提取某一个具体时刻的数据。


📌 方法说明:
DataFrame.at_time(time, asof=False, axis=None)

该方法根据时间戳中的“时间”部分进行筛选,适用于 DatetimeIndex 类型的索引。


🔧 参数说明:
参数类型说明
timedatetime.time 或字符串(如 '09:30:00'要选择的时间点
asofbool,默认为 False如果为 True,则返回最接近该时间但不晚于目标时间的最近一行
axis{0 or 'index', None},默认为 0指定对齐的轴,通常只支持 index(即行)

✅ 返回值:
  • 返回一个新的 DataFrame,包含与指定时间匹配的行。

🧪 示例代码:
import pandas as pd
import numpy as np

# 创建一个以时间为索引的 DataFrame
rng = pd.date_range('2024-01-01', periods=5, freq='H')
df = pd.DataFrame({'A': [1, 2, 3, 4, 5]}, index=rng)

print("Original DataFrame:")
print(df)

# 提取时间是 "00:00:00" 的行
df_0000 = df.at_time('00:00:00')

# 提取时间是 "12:00:00" 的行
df_1200 = df.at_time('12:00:00')

print("\nRows at time '00:00:00':")
print(df_0000)

print("\nRows at time '12:00:00':")
print(df_1200)

📤 输出结果:
Original DataFrame:
                     A
2024-01-01 00:00:00  1
2024-01-01 01:00:00  2
2024-01-01 02:00:00  3
2024-01-01 03:00:00  4
2024-01-01 04:00:00  5

Rows at time '00:00:00':
                     A
2024-01-01 00:00:00  1

Rows at time '12:00:00':
Empty DataFrame
Columns: [A]
Index: []

🧠 应用场景:
  • 时间序列分析中提取每日固定时刻的数据(如开盘价、收盘价等);
  • 数据清洗时提取或过滤特定时间点的数据;
  • 结合 between_time() 可进一步筛选时间段。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liuweidong0802

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值