根据列元素编号长度过滤数据框(其中 1 个特定列的类型为 'object')(关联规则分析)
Filtering a dataframe (where 1 specific column is type 'object') based on the columns element number length (Association Rule Analysis)
我有一个数据集,其中有一列标记为 'antecedents',其中包含一个元素列表,类型为 'object',如下所示。如何将我的数据集过滤为 return 仅特定前提列的元素编号长度为 1 的行?价值观
前项列示例:
(苹果、香蕉)
(苹果、梨)
(苹果、香蕉、梨)
(苹果)
我正在做关联规则分析,只想要有 1 个前提的行(在上面的例子中是 APPLE),到目前为止我有:
df[df['antecedents'] 现在检查先行列中元素对象列表的长度,并且只检查先行列长度为 1 的 return 行
我不确定如何访问该前提列中的 return 行,其长度为 1(前提列中只有一个元素)。
您可以使用 built-in .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]
根据数据的具体格式,您可能需要调整函数以正确计算长度。
我有一个数据集,其中有一列标记为 'antecedents',其中包含一个元素列表,类型为 'object',如下所示。如何将我的数据集过滤为 return 仅特定前提列的元素编号长度为 1 的行?价值观
前项列示例:
(苹果、香蕉)
(苹果、梨)
(苹果、香蕉、梨)
(苹果)
我正在做关联规则分析,只想要有 1 个前提的行(在上面的例子中是 APPLE),到目前为止我有:
df[df['antecedents'] 现在检查先行列中元素对象列表的长度,并且只检查先行列长度为 1 的 return 行
我不确定如何访问该前提列中的 return 行,其长度为 1(前提列中只有一个元素)。
您可以使用 built-in .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]
根据数据的具体格式,您可能需要调整函数以正确计算长度。