向具有A,B,C重复的熊猫数据框中添加一列

问题描述 投票:0回答:2

我如何在熊猫数据框中添加具有值'A','B','C','A','B'等的列?即ABC在各行中重复。另外,我还需要更改分配给第一行的字母(即它可以以ABCAB ...,BCABC ...或CABCA ...开头)。

我可以做到:

df.index % 3

这使我的索引为0,1,2等,但我看不到如何将其放入包含A,B,C的列中。

非常感谢,

朱利安

python pandas
2个回答
2
投票

如果我正确理解了您的问题,则可以按如下所示创建字母列表,然后将其添加到数据框中:

from itertools import cycle
from random import randint

letter_generator = cycle('ABC')
offset = randint(0, 2)
dataframe_length = 10 # or just use len(your_dataframe) to avoid hardcoding it
column = [next(letter_generator) for _ in range(dataframe_length + offset)]
column = column[offset:]

0
投票

我将做什么

df['col']=(df.index%3).map({0:'A',1:'B',2:'C'})
© www.soinside.com 2019 - 2024. All rights reserved.