将一列重复值添加到dataframe

问题描述 投票:3回答:3

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

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

该列应该看起来像这样:

A
-12
-11
-10
...
11
12
-12
-11
...
11
12

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

python pandas dataframe
3个回答
3
投票

试试这个:

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

2
投票

itertools.cycle将无限期地重复一个迭代器,而itertools.islice仅占据领先部分。

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

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.])
© www.soinside.com 2019 - 2024. All rights reserved.