【发布时间】:2019-10-10 12:11:31
【问题描述】:
我在每天比较两个数据帧的值时遇到问题。 数据框包含 df1 = 每天的最低温度值和 df2 = 每天的最高温度值。
dfs 是这样的(TS_TIMESTAMP 是索引列):
df1:
> TS_TIMESTAMP Date TREND_VALUE
> 2019-04-03 18:48:10.970 2019-04-02 8.340000
> 2019-04-04 16:49:23.320 2019-04-03 7.840000
> 2019-04-05 13:19:33.550 2019-04-04 7.480000
df2:
> TS_TIMESTAMP Date TREND_VALUE
> 2019-04-03 18:48:10.970 2019-04-02 19.340000
> 2019-04-04 16:49:23.320 2019-04-03 18.840000
> 2019-04-05 13:19:33.550 2019-04-04 18.480000
我想用一个函数计算每天 max_value 和 min_value 之间的差异(简单地用许多不同的文件运行计算)。
这是我想出的:
def temp_diff (df1, df2):
for row in df1, df2:
if df1.Date == df2.Date:
print (df2.TREND_VALUE - df1.TREND_VALUE)
如果我运行这个函数,我会得到这个 if 语句的错误消息: ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
我不确定如何适当地更改我的 def。
感谢您的帮助!
【问题讨论】:
标签: python-3.x pandas for-loop if-statement