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