下面的数据框包含了关于某个产品的各种信息。Input3是创建的句子列表,如下所示:
sentence_list = (['Køb online her','Sammenlign priser her','Tjek priser fra 4 butikker','Se produkter fra 4 butikker', 'Stort udvalg fra 4 butikker','Sammenlign og køb'])
df["Input3"] = np.random.choice(sentence_list, size=len(df))
完整输入是通过连接各个列创建的字符串,其内容类似于:“来自品牌的产品名称-在此处在线购买-网站名称”。它是这样创建的:
df["Full_Input"] = df['TitleTag'].astype(str) + " " + df['Input2'].astype(str) + " " + df['Input3'].astype(str) + " " + df['Input4'].astype(str) + " " + df['Input5'].astype(str)
这里的问题是完整输入长度应小于55。因此,我试图找出如何在随机生成Input3时设置一个条件,这样当它与其他列的字符串相加时,整个输入长度不会超过55。你知道吗
这就是我所尝试的:
for col in range(len(df)):
condlist = [df["Full_Input"].apply(len) < 55]
choicelist = [sentence_list]
df['Input3_OK'][col] = np.random.choice.select(condlist, choicelist)
正如所料,它不是那样工作的。np.random.choice.select
不是什么东西,我得到了一个AttributeError。你知道吗
我该怎么做呢?你知道吗
如果保证在
Input3
中至少有一个项目满足此条件,则可能需要尝试类似于仅对sentence_list
中具有可接受长度的值进行随机选择:换句话说,在调用
random.choice
之前,对每个字符串列表执行筛选。你知道吗您可以对数据帧中的每一行运行此命令,如下所示:
相关问题 更多 >
编程相关推荐