将同一列的行复制到 Pandas Dataframe 中的不同索引。将一个月的数据复制到另一个

Posted

技术标签:

【中文标题】将同一列的行复制到 Pandas Dataframe 中的不同索引。将一个月的数据复制到另一个【英文标题】:Copy rows of same column to different index in a Pandas Dataframe. Duplicate data of one month to Another 【发布时间】:2020-06-16 19:53:26 【问题描述】:

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

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']

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

【问题讨论】:

【参考方案1】:

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

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

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

唯一的要求是尺寸必须匹配。

【讨论】:

以上是关于将同一列的行复制到 Pandas Dataframe 中的不同索引。将一个月的数据复制到另一个的主要内容,如果未能解决你的问题,请参考以下文章

Pandas 将具有多个值的行数据合并到列的 Python 列表中

pandas条件组合筛选和按范围筛选

Pandas:使用 apply 将特定列中的行值复制到新列中

使用查询将np.nans分配给Pandas列的行

根据单元格原始列的行数将特定单元格的内容复制到空列

Pandas 将带有 unix 时间戳(以毫秒为单位)的行转换为日期时间