是否有类似以下函数的方法,用于创建包含十列Series s的DataFrame?
df = pd.DataFrame(s, 10)
谢谢你!
使用 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
参数。
我不知道有没有纯numpy的解决方案可以满足你的需求,但你可以使用列表推导式和zip函数来进行转置。
df = pd.DataFrame(zip(*[s for i in range(10)]))
没有理解力...
df = pd.DataFrame(zip(*[s]*10))
pd.concat([df]*10, axis=1)
。 - EdChum