回收Pandas Dataframe

Tho*_*hew 8 python numpy list pandas

当使用R中较短数组的值填充数组时,R将"循环"较短数组中的元素.例如,设置长度为7的阵列[ , , , , , , ]与阵列['a','b','c']将给出['a','b','c','a','b','c','a'].

是否有内置方法使用类似的回收方式填充pandas列(或numpy数组)?

cs9*_*s95 6

有点,但它不像 R 中那么简单。

from itertools import cycle, islice
cyc = cycle(['a','b','c'])

pd.Series(list(islice(cyc, 0, 7)))

0    a
1    b
2    c
3    a
4    b
5    c
6    a
dtype: object
Run Code Online (Sandbox Code Playgroud)

首先,使用创建一个无限迭代器itertools.cycle。然后,使用 切出此无限迭代器的一部分以仅检索所需的元素数量itertools.islice

7根据您想要的系列大小更改为小或大。


Div*_*kar 6

随着numpy.resize-

In [199]: a = ['a','b','c']

In [200]: np.resize(a,7)
Out[200]: array(['a', 'b', 'c', 'a', 'b', 'c', 'a'], dtype='|S1')
Run Code Online (Sandbox Code Playgroud)