我需要将数据从一个数据帧合并到另一个数据帧。 主数据框由带有年、月和地区变量的调查答案组成。 我需要合并的数据是那个月的天气数据。这些数据存储在我的第二个气象站数据框中,其中包含一个年份变量,即每个月的平均温度变量(例如,值1、值2、。。。值12)和区域变量。你知道吗
我试着将地区和年份的两个数据框合并,然后我的计划是选择与调查相符的平均温度变量。你知道吗
df1
---------------------------
year month regions
2002 january Pais Vasco
2002 february Pais Vasco
2003 march Pais Vasco
2002 november Florida
2003 december Florida
... ... ...
---------------------------
df2
-----------------------------------------------
year value1 value2 ... value12 regions
2002 10 11 ... 9 Pais Vasco
2003 11 11 ... 10 Pais Vasco
2004 12 11 ... 10 Pais Vasco
2002 11 11 ... 9 Florida
2003 10 11 ... 9 Florida
-----------------------------------------------
所以在这个例子中,我需要为我的第一次调查观测,从Pais Vasco地区和2002年得到相应的温度(值1)数据。你知道吗
当我试图与
df_merged = pd.merge(df1, df2, how = "left", on =["regions", "year"])
我只是得到一个比我原来的调查数据框有更多观察的数据框。你知道吗
我将这些数据转换成tidy格式。假设
value1
、value2
等对应于value
和month
,然后使用pd.wide_to_long
将其转换为长格式,然后合并。你知道吗你需要将你的月份标准化,使它们都是数字或整数。你如何做到这一点超出了这个答案的范围。你知道吗
那么
如果这引发了一个错误,那么您对同一个
['year', 'month', 'region']
键有多个观察结果。通过删除重复项来解决这个问题。你如何做到这一点几乎可以肯定很大程度上是基于你的数据。你知道吗sobek注意到您有一个输入错误,在merge命令中说的是
'regions'
,而不是'region'
。确保引用的是实际存在的列。你知道吗相关问题 更多 >
编程相关推荐