删除数据框中列表中的重复项python

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

我有一个数据框,已将其与教科书 ISBN 以及使用这些书籍的学校、州和年级分组。我想删除数据框列表中的重复项。我已在状态列的屏幕截图中尝试了以下步骤作为测试,但我不确定它是列表、数据框还是系列,因为我尝试了一些代码以查看是否有任何代码可以工作。想知道是否有人可以解释数据框中这些“列表”的结构以及删除重复项的任何代码。step1step2step3step4

python dataframe list series drop-duplicates
1个回答
0
投票

您可以

.apply()
lambda x: list(set(x))))
代替
lambda x: x.drop_duplicates()
。它将执行相同的工作 - 删除重复项。

看起来

State
的行为就像
list
而不是 pandas 系列。

示例:

import pandas as pd

df = pd.DataFrame(
    {
        "val": [1, 1, 2, 3, 4, 3, 2],
        "data": ["X", "Y", "X", "X", "X", "X", "X"],
    }
)

df = df.groupby(["val"]).agg(lambda x: x.tolist())
print(type(df["data"]))
print((df["data"].apply(lambda x: list(set(x)))))

输出:

<class 'pandas.core.series.Series'>
val
1    [Y, X]
2       [X]
3       [X]
4       [X]
Name: data, dtype: object
© www.soinside.com 2019 - 2024. All rights reserved.