合并Pandas Dataframe中各列的值。

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

在我开始之前,我的声明是,我对Python非常陌生,而且我一直在努力学习更多的知识,所以我的问题可能是愚蠢的,但请答应我。

我有一个Pandas Dataframe,是在flask应用上通过读取csv或excel文档创建的。用户上传文档,所以数据框和列名会随着每次上传而改变。

用户还可以从一个html multiselect对象中选择他们想要合并的列,该对象将用户选择的列以python列表的形式返回给应用程序脚本。

我目前拥有的是

df=pd.read_csv(file)
columns=df.columns.values

selected_col=request.form.getlist('columns')

所有这些工作都很好,但我现在卡住了。我怎样才能将列名列表(selected_col)中的行的值合并到数据框架的新列中,这样一来 df["Merged"] = list of selected column values.

我看到有人使用merge函数,它似乎对2列很有效,但在这种情况下,它可以是任何数量的列进行合并,因此我正在寻找一个函数,它可以接收一个列的列表并合并它,或者在列的列表中迭代,将值追加到一个新的列中。

python pandas dataframe
1个回答
1
投票

听起来,你要做的更像是一个元素的连接,而不是合并。

如果我的理解正确的话,你可以用一个列表理解创建一个嵌套的列表,通过将其分配为一个新的DataFrame列来变成一个pandas系列,从而得到你想要的结果。

df['Merged'] = [list(row) for row in df[selected_col].values]
© www.soinside.com 2019 - 2024. All rights reserved.