gpt4 book ai didi

python - 将一个 DataFrame 行转换为平面列表

转载 作者:太空狗 更新时间:2023-10-30 00:54:49 25 4
gpt4 key购买 nike

我是 Python 的新手,因此我无法将 DataFrame 中的行转换为平面 list。为此,我使用以下代码:

玩具DataFrame:

import pandas as pd
d = {
"a": [1, 2, 3, 4, 5],
"b": [9, 8, 7, 6, 5],
"n": ["a", "b", "c", "d", "e"]
}

df = pd.DataFrame(d)

我的代码:

df_note = df.loc[df.n == "d", ["a", "b"]].values #convert to array
df_note = df_note.tolist() #convert to nested list
df_note = reduce(lambda x, y: x + y, df_note) #convert to flat list

对我来说,这段代码似乎既粗糙又低效。事实上,我在 list 之前转换为 array 是导致问题的原因,即要嵌套的 list 。尽管如此,我找不到将行直接转换为列表的方法。有什么建议吗?

这个问题不是 this 的骗局.就我而言,我希望列表是扁平的。

最佳答案

你几乎就在那里,实际上只是使用 flatten 而不是 reduce 来取消嵌套数组(而不是取消嵌套列表),并且链式操作有一个衬里:

df.loc[df.n == "d", ['a','b']].values.flatten().tolist()
#[4, 6]

关于python - 将一个 DataFrame 行转换为平面列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34238391/

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