是否有类似以下的函数来创建具有10列Series s的数据框?
df = pd.DataFrame(s, 10)
谢谢!
答案 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))