如何计算Pandas两城市deaths/births列绝对差值并写入difference列
实现方法
完全可以通过.loc方法实现,你的数据按索引分区间存储两个城市数据、且日期对齐的前提下,只需要先把奥斯汀区间的指标值调整索引和休斯顿区间对齐,再计算绝对差值即可,示例代码如下:
# 提取奥斯汀5-9行的对应指标,重置索引为0-4,和休斯顿0-4行索引对齐 austin_death_birth = data.loc[5:9, 'deaths/births_Austin'].reset_index(drop=True) # 计算0-4行的绝对差值写入difference列 data.loc[0:4, 'difference'] = np.abs(data.loc[0:4, 'deaths/births_Houston'] - austin_death_birth) # 若需要5-9行也同步存储对应日期的差值,可补充以下代码 data.loc[5:9, 'difference'] = data.loc[0:4, 'difference'].reset_index(drop=True)
逻辑说明
reset_index(drop=True)会把奥斯汀区间原有的5-9索引重置为0-4,确保两个城市同日期的数据按索引一一匹配,不会错位np.abs()用于返回差值的绝对值,符合你的计算要求- 如果仅需要休斯顿区间存储差值结果,可省略最后一段同步5-9行数据的代码
内容的提问来源于stack exchange,提问作者Luci Fern
相关产品推荐
相关产品推荐

