python - Python:读取和操作 DataFrame 数据时出错
问题描述
我有一个名为“obsData”的 DataFrame 变量,它具有以下结构: 然后我将此变量用作代码的输入(在 Stackoverflow 的帮助下),该代码每天使用以下命令将所有每小时数据排序为一行:
f = obsData
data = {}
for line in f:
if 'Date' not in line or 'Temp' not in line:
k, v, = line.split() # split line in 2 parts, v and k
temperature = v.split(';')[1]
if k not in data:
data[k] = [temperature]
else:
data[k].append(temperature)
for k, v in data.items():
outPut = "{} ;{}".format(k, ";".join(v))
我的问题是变量“line”永远无法超过“obsData”中数据的第一行。它只能读取“日期”,但不能读取第二列“温度”。结果,拆分函数尝试拆分“日期”,但由于它只有一个值,我得到了错误:
ValueError: not enough values to unpack (expected 2, got 1)
我试图将“f”(即“obsData”)从 DataFrame 重新定义为 ndarray 或字符串,以使代码更容易处理数据:
f = f.values # into ndarry
f = f.astype(str) # into string try 1
f[['Date', 'Temp']] = f[['Date', 'Temp']].astype(str) # into string try 2
但由于某种原因,我不明白我无法转换它。我究竟做错了什么?任何帮助深表感谢!
编辑澄清:我得到的错误与
k, v, = line.split()
解决方案
推荐阅读
- rdlc - 如何在 RDLC 上强制字体 - 解释 html 标签
- sql - 基于参数选择的单个查询(如果或未提供)
- javascript - 在 React Native 中点击按钮时更改样式(背景颜色)
- dart - 向 Dart 中的函数添加带有泛型参数的 void 回调
- azure - Azure 认知搜索:具有两个搜索配置文件的搜索查询
- xampp - XAMMP终端php启用版本与运行版本不匹配
- postgresql - 在 postgresql 中查找分组中的最大值
- node.js - 错误:找不到可用的存储方法。在 driverPromiseLoop - localforage Chrome
- javascript - 如何使用 Vue 和 Apollo 向 Shopify 的 GraphQL Admin API 发出请求
- python - scipy.interpolate.interp2d 可以处理多少数据有限制吗?--> 大向量的错误结果