python中对已经生成的Series,怎样组合成DataFrame

2024-11-03 08:43:41
推荐回答(4个)
回答1:

zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例:

a = [100, 200, 300]

b = [400, 500, 600]

c = [700, 800, 900]

abc = zip(a, b, c)

print(xyz)

结果是:[(100, 400, 700), (200, 500, 800), (300, 600, 900)]

所以对Series组合成DataFrame用zip函数就可以,代码示例:

DataFrame(list(zip(a, b)))

结果演示:

回答2:

In [3]: import pandas as pd

In [4]: a = pd.Series([1,2,3])

In [5]: b = pd.Series([2,3,4])


In [6]: c = pd.DataFrame([a,b])

In [7]: c
Out[7]:
   0  1  2
0  1  2  3
1  2  3  4

不过pandas直接用列表生成dataframe只能按行生成,如果是字典可以按列生成,比如:

In [8]: c = pd.DataFrame({'a':a,'b':b})

In [9]: c
Out[9]:
   a  b
0  1  2
1  2  3
2  3  4

回答3:

如a=Series([1,2,3])b=Series([2,3,4])怎样将ab组合成一个DataFrame?我在网上搜了好多都是通过随机数直接生成的,但是没看到这种方式的类似于R语言中的实现方法

回答4:

DataFrame(list(zip(a, b)))