我有一个现有的DataFrame,我需要向其中添加一个额外的列,该列将包含每一行的相同值。
现有DF:
Date, Open, High, Low, Close
01-01-2015, 565, 600, 400, 450
新的DF:
Name, Date, Open, High, Low, Close
abc, 01-01-2015, 565, 600, 400, 450
我知道如何追加现有的序列/数据框列。但这是一种不同的情况,因为我只需要添加‘name’列,并将每一行设置为相同的值,在本例中为‘abc’。
9条答案
按热度按时间0h4hbjxa1#
df['Name']='abc'
将添加新列并将所有行设置为该值:cgyqldqp2#
您可以使用
insert
指定新列的位置。在本例中,我使用0
将新列放置在左侧。li9yvcax3#
总结前人建议,再添第三条路
你可以:
其中,参数loc(0<=loc<=len(Columns))允许您在需要的位置插入列。
‘loc’为您提供插入后列将位于的索引。例如,上面的代码插入列名作为第0列,即它将被插入到*第一列之前,成为新的第一列。(索引从0开始)。
所有这些方法都允许您从系列中添加新列(只需将上面的‘abc’默认参数替换为系列)。
np8igboo4#
单层班轮工作
创建
Name
列并将所有行设置为abc
值ogsagwnx5#
我想让更多的人注意@Michele-Piccolini回答的一部分。
我坚信
.assign
是这里最好的解决方案。在现实世界中,这些行动不是孤立的,而是一连串的行动。如果您希望支持一系列操作,则可能应该使用.assign
方法。下面是一个使用滑雪胜地降雪量数据的例子(但同样的原理也适用于……金融数据)。
这段代码读起来像是步骤的食谱。赋值(使用
=
)和.insert
都使这一点变得更加困难:请注意
.assign(LOCATION='Alta',
行,它在其余操作的中间创建了一个具有单个值的列。1rhkuytd6#
One Line为我做了这件事。
mbzjlibv7#
您只需执行以下操作:
khbbv19g8#
好吧,所有人,我这里有类似的情况,但如果我使用以下代码:
df['Name']='abc'
代替‘abc’,这是我希望从CSV文件中的其他位置获取的新列的名称。从图中可以看到,DF尚未清洗,但我想创建两个名为“ADI DMS Rivoli”的列,它将继续用于每一行,并将用于“2019年12月”。希望你明白,这是很难解释的,对不起。
wz1wpwve9#
这一条线路行得通。
Df[‘name’]=‘ABC’