首页 > 解决方案 > 如何操作字典列表的熊猫数据框?

问题描述

大家好,我一直在使用来自 csv 文件的数据,并将该数据放入 pandas DataFrame。原始数据有 6 列,其中一列称为“操作”是字典列表。我通过做这样的事情制作了一个临时数据框 -

temp = pd.DataFrame(dataframe['actions'])

这是该新数据框中的示例行之一 -

[{"E": 24, "action": "views"}, {"F": 22, "action": "noise"}, {"H": 39, "action": "conversions"}]

我不确定如何操作这些数据。我想获得一个实例列表,其中说'E'具有更高的值,其中'动作'是'视图'而不是'E'具有'动作',例如'转换'。数据框中后续行中的键并不存在于每一行中。

编辑 - 预期输出不一定是另一个 DataFrame,而可能只是符合标准的单字母键的 python 列表。更明确地说,我想搜索整个数据框以比较当动作是两种特定类型时的实例,然后比较数值。因此,如果我的条件是仅当操作是“视图”和“转换”时,它会查找相同单字母键的实例,例如

"E" {"E": 24, "action": "views"} 和 {"E": 45, "action": "conversions"}

或为

"A" {"A": 12, "action": "views"} 和 {"A": 28, "action": "conversions"}。

这当然可以出现在数据框中的不同行上。因此,在我提议的函数结束时,它将返回满足条件的单字母字符串列表。

这是 df 的示例 -

0,"[{""E"": 24, ""action"": ""views""}, {""F"": 22, ""action"": ""noise""}, {" "H"": 39, ""action"": ""conversions""}]"

1,"[{""B"": 79, ""action"": ""clicks""}, {""H"": 3, ""action"": ""conversions""}, {" "G"": 68, ""动作"": ""垃圾""}]"

2,"[{""E"": 10, ""action"": ""views""}, {""D"": 41, ""action"": ""views""}, {" "J"": 52, ""action"": ""conversions""}]"

3,"[{""A"": 47, ""action"": ""clicks""}, {""E"": 93, ""action"": ""junk""}, {" "D"": 54, ""action"": ""views""}]"

4,"[{""H"": 16, ""action"": ""views""}, {""G"": 41, ""action"": ""conversions""}, {" "C"": 80, ""action"": ""junk""}]"

有希望的示例结果

['H']

因为第 0 行中的 'H' 有一个字典 {"H": 39, "action": "conversions"},其数值大于第 4 行的 {"H": 16, "action": "views"因为我们正在寻找“conversions”操作比同一个单字母键“H”的“views”操作具有更大价值的地方。

标签: pythonpython-3.xpandasdataset

解决方案


推荐阅读