将一列重复值添加到dataframe

时间:2018-04-30 18:15:20

标签: python pandas dataframe

我有一些季度级别的金融交易数据,所以这是一个非常大的数据集。我现在想要将以下值添加到反复重复的新列中:

USPS.MEDIAMAIL

该列应该如下所示:

[-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12]

所以基本上只是那个列表一遍又一遍地重复,直到我的Dataframe的最后一行。我希望这个问题足够清楚。

3 个答案:

答案 0 :(得分:3)

试试这个:

N = len(df)
df['A'] = pd.Series(np.tile(lst, N//len(lst))).iloc[:N]

答案 1 :(得分:2)

itertools.cycle将无限期地重复迭代器,而itertools.islice仅占用前导部分。

pd.Series(list(itertools.islice(itertools.cycle(range(-12,13)), len(df))))

答案 2 :(得分:2)

使用numpy place

a=np.zeros(len(data_file))
np.place(a,a>=0,np.array([1,2]))
a
Out[526]: array([1., 2., 1., 2.])