如何通过多次重复系列来创建数据帧?

时间:2014-07-15 14:44:17

标签: python pandas

是否有类似以下的函数来创建具有10列Series s的数据框?

df = pd.DataFrame(s, 10)

谢谢!

2 个答案:

答案 0 :(得分:11)

使用concat:

In [57]:

s = pd.Series(arange(10))
s
Out[57]:
0    0
1    1
2    2
3    3
4    4
5    5
6    6
7    7
8    8
9    9
dtype: int32
In [59]:

pd.concat([s] * 10, axis=1)

Out[59]:
   0  1  2  3  4  5  6  7  8  9
0  0  0  0  0  0  0  0  0  0  0
1  1  1  1  1  1  1  1  1  1  1
2  2  2  2  2  2  2  2  2  2  2
3  3  3  3  3  3  3  3  3  3  3
4  4  4  4  4  4  4  4  4  4  4
5  5  5  5  5  5  5  5  5  5  5
6  6  6  6  6  6  6  6  6  6  6
7  7  7  7  7  7  7  7  7  7  7
8  8  8  8  8  8  8  8  8  8  8
9  9  9  9  9  9  9  9  9  9  9

如果要追加为行,请删除axis=1参数。

答案 1 :(得分:1)

我不知道你想要的任何纯粹的numpy解决方案,但你可以使用list comprehension和zip来转置。

df = pd.DataFrame(zip(*[s for i in range(10)]))

没有理解......

df = pd.DataFrame(zip(*[s]*10))