如何识别数据框中的唯一项?
How to identify unique items in a dataframe?
我有包含数字的数据集(用于项目集挖掘)。数据集如下:
如何从中识别独特的项目?
我目前的尝试如下:
dataset = pd.read_csv('dataset.csv', sep='\t')
pd.unique(dataset)
但我收到错误消息:ValueError: could not broadcast input array from shape (3000,1) into shape (3000)
。
pd.unique
需要 1d array-like 输入所以你可以尝试 pd.unique(dataset.values.ravel())
你的问题不是很清楚。似乎每一行都是一个长度可变的列表。让我猜猜。
如果您真的希望数据框在一列中包含所有列表,而不是一堆到处都是 NaN 的列,请在 read_csv 之后尝试此操作:
dataset.apply(lambda x: list(x), axis=1)
如果你想要唯一的行,最简单的方法是:
uniques = dataset.drop_duplicates(keep='first')
如果您想要特定列的唯一值:
dataset["column name"].unique()
将 return 唯一值的 numpy 数组。
我有包含数字的数据集(用于项目集挖掘)。数据集如下:
如何从中识别独特的项目?
我目前的尝试如下:
dataset = pd.read_csv('dataset.csv', sep='\t')
pd.unique(dataset)
但我收到错误消息:ValueError: could not broadcast input array from shape (3000,1) into shape (3000)
。
pd.unique
需要 1d array-like 输入所以你可以尝试 pd.unique(dataset.values.ravel())
你的问题不是很清楚。似乎每一行都是一个长度可变的列表。让我猜猜。
如果您真的希望数据框在一列中包含所有列表,而不是一堆到处都是 NaN 的列,请在 read_csv 之后尝试此操作:
dataset.apply(lambda x: list(x), axis=1)
如果你想要唯一的行,最简单的方法是:
uniques = dataset.drop_duplicates(keep='first')
如果您想要特定列的唯一值:
dataset["column name"].unique()
将 return 唯一值的 numpy 数组。