首页 > 解决方案 > 将同一列的行复制到 Pandas Dataframe 中的不同索引。将一个月的数据复制到另一个

问题描述

我正在尝试将数据复制/替换到数据框的列中。当索引相同时,我可以轻松复制它。例如:

sampledata['Total']=actualdata['Total']

上面和下面都可以工作。

sampledata.loc[janStart:janEnd, 'Total'] = (sampledata.loc[0:755, 'Total']

但是当我尝试将数据从一个数据帧复制到另一个数据帧到不同的索引时。或者对于同一数据框中的不同索引,它不起作用。以下代码不起作用:

sampledata.loc[1417:2153, 'Total'] = sampledata.loc[0:743, 'Total']

我也试过这个:

actualdata.reset_index(drop=True, inplace=True)
  #actualdata.index=sampledata.index
  #sampledata.ignore_index = True
  #actualdata.ignore_index = True
  #actualdata.reindex_like(actualdata)
sampledata.loc[1417:2153, 'Total'] = actualdata.loc[0:743, 'Total']

此代码的目的是将用电量从一个月复制到另一个月。也欢迎任何其他可以使用的方法。

标签: pythonpandasdataframedata-sciencedata-cleaning

解决方案


为了能够复制 a Series,索引必须匹配。

摆脱复制 Series 的索引的一个简单技巧是提取其值,实际上将其转换为无索引数组:

sampledata.loc[1417:2153, 'Total'] = sampledata.loc[0:736, 'Total'].values

唯一的要求是尺寸应匹配。


推荐阅读