【问题标题】:How to identify unique items in a dataframe?如何识别数据框中的唯一项目?
【发布时间】:2021-05-22 18:39:54
【问题描述】:
我有包含数字的数据集(用于项集挖掘)。数据集如下:
我如何从中识别独特的物品?
我目前的尝试如下:
dataset = pd.read_csv('dataset.csv', sep='\t')
pd.unique(dataset)
但我收到错误消息:ValueError: could not broadcast input array from shape (3000,1) into shape (3000)。
【问题讨论】:
标签:
python
pandas
dataframe
data-mining
【解决方案1】:
pd.unique 需要 1d 类数组 输入,因此您可以尝试 pd.unique(dataset.values.ravel())
【解决方案2】:
你的问题不是很清楚。似乎每一行都是一个可变长度的列表。让我猜猜。
如果您确实希望数据框将所有列表放在一列中,而不是一堆到处都是 NaN 的列,请在 read_csv 之后尝试:
dataset.apply(lambda x: list(x), axis=1)
如果你想要唯一的行,最简单的方法是:
uniques = dataset.drop_duplicates(keep='first')
如果您想要特定列的唯一值:
dataset["column name"].unique()
将返回一个由唯一值组成的 numpy 数组。