我有2个数据帧,其索引类型为:Datatimeindex,我想将一行复制到另一行。数据帧为:
变量:df
DateTime
2013-01-01 01:00:00 0.0
2013-01-01 02:00:00 0.0
2013-01-01 03:00:00 0.0
....
Freq: H, Length: 8759, dtype: float64
变量:消费年
Potência Ativa ... Costs
Datetime ...
2019-01-01 00:00:00 11.500000 ... 1.08874
2019-01-01 01:00:00 6.500000 ... 0.52016
2019-01-01 02:00:00 5.250000 ... 0.38183
2019-01-01 03:00:00 5.250000 ... 0.38183
[8760 rows x 5 columns]
这是我的代码:
mc.run_model(tmy_data)
df=round(mc.ac.fillna(0)/1000,3)
consumption_year['PVProduction'] = df.iloc[:,[1]] #1
consumption_year['PVProduction'] = df[:,1] #2
我正在尝试将df的第二列复制到consumption_year数据框中的新列,但是以前的经验均无效。看一下索引,我发现3个主要差异:
在可以将一行复制到另一行之前,我是否需要先解决这3个差异(使df中的日期时间等于consumption_year)?如果是这样,您能否为我提供解决这些差异的解决方案。
这些是错误:
1: consumption_year['PVProduction'] = df.iloc[:,[1]]
raise IndexingError("Too many indexers")
pandas.core.indexing.IndexingError: Too many indexers
2: consumption_year['PVProduction'] = df[:,1]
raise ValueError("Can only tuple-index with a MultiIndex")
ValueError: Can only tuple-index with a MultiIndex
答案 0 :(得分:0)
您可以将两个数据框合并在一起。
pd.merge(df, consumption_year, left_index=True, right_index=True, how='outer')