如何通过重复系列多次来创建数据框?
有没有类似下面这样的函数,可以用来创建一个有十列的DataFrame,里面的内容是Series s?
df = pd.DataFrame(s, 10)
谢谢!
2 个回答
0
我不知道有没有纯粹用numpy实现你想要的功能,但你可以用列表推导和zip来进行转置。
df = pd.DataFrame(zip(*[s for i in range(10)]))
如果不使用列表推导的话...
df = pd.DataFrame(zip(*[s]*10))
19
使用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
这个参数去掉。