系列到数据帧的列表

问题描述 投票:1回答:2

我有一个包含Pandas Series对象的列表,我通过这样做来创建:

li = []
li.append(input_df.iloc[0])
li.append(input_df.iloc[4])

其中input_df是熊猫Dataframe

我想将这个Series对象列表转换回Pandas Dataframe对象,并想知道是否有一些简单的方法来做到这一点

python pandas dataframe
2个回答
3
投票

根据帖子,你可以这样做:

pd.Dataframe(li)

对每个人建议pd.concat,这不再是Series。他们正在为列表添加值,li的数据类型是一个列表。因此,要将列表转换为数据帧,他们应该使用pd.Dataframe(<list name>)


1
投票

您似乎希望对数据帧进行自定义融合。使用pandas库,您可以使用一行代码完成。我在示例下创建以复制您的问题:

import pandas as pd
input_df = pd.DataFrame(data={'1': [1,2,3,4,5]
                          ,'2': [1,2,3,4,5]
                          ,'3': [1,2,3,4,5]
                          ,'4': [1,2,3,4,5]
                          ,'5': [1,2,3,4,5]})

使用pd.DataFrame,您将能够创建融合两个选定列表的新数据框:

li = []
li.append(input_df.iloc[0])
li.append(input_df.iloc[4])
new_df = pd.DataFrame(li)

如果您想要的是这两个列表在一列下显示,我不会将它们作为列表传递给那些列表以将其传递回数据帧。相反,您可以添加这两列,而不考虑每列的列名。

new_df = input_df.iloc[0].append(input_df.iloc[4])

如果这回答了你的问题,请告诉我。


0
投票

由于正确的答案已隐藏在评论中,我认为最好将其作为答案提及:

pd.concat(li, axis=1).T}

将系列的li列表转换为Dataframe

© www.soinside.com 2019 - 2024. All rights reserved.