我有一个数据集,列的标签是“前因”,其中包含一个元素列表,这些元素的类型为“object”,如下图所示。如何筛选我的数据集,使其只返回特定先行词列的元素编号长度为1的行?价值
前列示例:
(苹果香蕉)
(苹果、梨)
(苹果、香蕉、梨)
(苹果)
我正在做关联规则分析,只想要有1条先行的行(因此在上面的例子中是APPLE ),到目前为止我有:
df[df‘前导“现在检查前导列中元素的对象列表的长度,并且只返回该先行列的长度为1的行。
我不知道如何访问这个前置列中的行,以便只返回长度为1的行(前一列中只有一个元素)。
发布于 2022-05-17 18:20:00
您可以使用内置的.apply()函数。
def antecedent_length(s):
# Calculate the length of the antecedent
# `s` is the value in each row
return len(s)
df[df.antecedents.apply(antecedent_length) == 1]根据数据的确切格式,您可能需要调整函数,使其能够正确计算长度。
https://stackoverflow.com/questions/72278557
复制相似问题