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

如何从Pandas DataFrame中提取纯Epoch时间值而非带描述的结果

解决方法:提取Series中的标量值

你当前代码里df.time[df.time == df_high_tf.time.iloc[i]]返回的是Pandas Series对象(哪怕只有一个元素),所以会附带索引、列名和类型信息。要拿到纯Epoch数字,只需要从这个Series里提取标量值,有几种简单方法:

方法1:用.iloc[0]直接取第一个元素

因为你已经确认该时间存在于df中,筛选结果只会有一个元素,直接取索引0的元素即可:

df_time = df.time[df.time == df_high_tf.time.iloc[i]].iloc[0]

方法2:用.values[0]提取numpy数组元素

也可以先把Series转成numpy数组,再取第一个元素:

df_time = df.time[df.time == df_high_tf.time.iloc[i]].values[0]

更高效的替代方案:避免循环

你的循环写法效率较低,尤其是数据量大的时候。可以直接用isin一次性找出所有匹配的时间值:

# 获取所有同时存在于两个DataFrame的time值(列表形式)
matching_times = df[df['time'].isin(df_high_tf['time'])]['time'].tolist()
# 如果只需要第一个匹配值
df_time = matching_times[0]

这样处理后,df_time就会是纯数字格式的Epoch时间,比如1678233600000。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 05:07:32