首页 > 解决方案 > 将一行中的值分配给多行

问题描述

我正在尝试将 DataFrame 中单行的值分配给多行。我有一个 DF def_security,其中第一行看起来像这样(列标题是 AGG 和 SPY,行索引是日期)

                   AGG    SPY 
2006-01-01          95     21

DF 的其余部分都为零。

                   AGG    SPY 
2006-01-02          0      0
...........

我想将与第一行相同的值(这些值是计算出来的,而不是分配标量)分配给 def_security 的下 250 行。列标题是用户输入的,列数或列标题不是预定义的。但是,每行中的列数相同

我正在尝试使用代码

def_security.iloc[1:251] = def_security.iloc[0]

但它返回错误消息“无法将输入数组从形状(250)广播到形状(250,2)”。
最简单的方法是什么?

标签: python-3.xpandasdataframe

解决方案


你几乎是对的:-)

尝试这个:

def_security.iloc[1:251] = def_security.iloc[0].values

推荐阅读