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

如何将含Pandas DataFrame与字典的元组转换为指定列DataFrame?解决转换时的AttributeError错误

解决方法:从元组中提取已有DataFrame并转换索引为列

我来帮你搞定这个问题!首先得明确:你调用hf.extract_nwis_df()返回的是一个包含两个元素的元组:

  • 第一个元素是已经整理好的Pandas DataFrame(就是输出里显示有26410行、2列的那个),它的索引正好是你需要的datetimeUTC
  • 第二个元素是站点元数据的字典,和你要的表格数据无关

你之前尝试的两种方法都出错,是因为把整个元组直接传给了pd.DataFrame(),Pandas没办法同时处理DataFrame和字典这两种不同类型的元素,才抛出了AttributeError。

正确的处理步骤

  1. 先提取元组中的第一个元素(也就是现成的目标DataFrame)
  2. 将原索引datetimeUTC转换为普通列,这样就得到你需要的三列了

对应的代码如下:

# 提取元组中的第一个元素:已有的DataFrame
raw_df = longmont_discharge[0]

# 将索引转换为普通列,生成最终的DataFrame
final_df = raw_df.reset_index()

# 查看前几行验证结果
print(final_df.head())

结果说明

执行完上面的代码后,final_df就会包含你要求的三列:

  • datetimeUTC:从原索引转换而来的时间列
  • USGS:06730500:00060:00003:原有的流量数据列
  • USGS:06730500:00060:00003_qualifiers:原有的质量标记列

如果你需要保留datetimeUTC作为索引,同时又要它作为一列,可以用下面的代码替代reset_index():

final_df = raw_df.assign(datetimeUTC=raw_df.index)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 18:22:50