gpt4 book ai didi

python - 从多个 pandas 系列创建数据框

转载 作者:行者123 更新时间:2023-12-01 08:26:38 25 4
gpt4 key购买 nike

尝试从多个 pandas 系列创建数据框。

这是我的代码

series = [pd.Series([nine, ten, eleven, twelve,thirteen], index=('link','post','shared','status','timeline'))]
my_names = [2009,2010,2011,2012,2013,2014,2015,2016,2017,2018]
my_series = [pd.Series([nine, ten, eleven, twelve,thirteen], index=('link','post','shared','status','timeline'), name=n) for n in my_names]

这是我正在交互的数据系列的示例:

#nine
title
link 6.060606
post 8.080808
status 85.858586
dtype: float64

#ten
title
link 1.666667
post 15.833333
shared 1.666667
status 71.666667
timeline 9.166667
dtype: float64

#eleven
title
link 23.885350
shared 0.318471
status 59.872611
timeline 15.923567
dtype: float64

#twelve
title
link 18.660287
shared 3.588517
status 65.550239
timeline 12.200957
dtype: float64

期望的结果是将 2009-2018 年作为列标题,将链接、共享、状态、时间线帖子作为行索引,并使用每个系列的值填充每行(九 = 2009 年,十 = 2010 年)。

这是我当前结果的示例:

sample

最佳答案

我相信你需要concat使用参数 keys 作为新列名称:

ser = [nine, ten, eleven, twelve,thirteen]
my_names = [2009,2010,2011,2012,2013]

df = pd.concat(ser, axis=1, keys=my_names)

如果输入是列表:

nine = [4,5,6]
ten = [9,0,3]
eleven = [7,3,0]

L = [nine, ten, eleven]
my_names = [2009,2010,2011]

df = pd.DataFrame({k:v for k, v in zip(my_names, L)})
print (df)
2009 2010 2011
0 4 9 7
1 5 0 3
2 6 3 0

您的解决方案返回Series列表,因此只需要concat:

df = pd.concat(my_series, axis=1)

或者:

df = pd.DataFrame(my_series).T

关于python - 从多个 pandas 系列创建数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54195528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com