gpt4 book ai didi

python - Pandas - 如何根据其他列中的条件对列中的句子求和,并将结果文档存储在列表中

转载 作者:行者123 更新时间:2023-12-01 07:35:58 26 4
gpt4 key购买 nike

我想创建一个文档列表。当“公司”和“日期”相同时,每个文档都是“文本”列中的句子组合。

为了说明,我有一个数据框:

df = pd.DataFrame(np.array([['28/02/2017', 'Apple', "A"], ['28/02/2017', 'Apple', "B"], ['30/03/2017', 'Apple', "C"],
['30/03/2017', 'Apple', "D"], ['30/02/2017', 'Amazon', "E"]]),
columns=['date', 'company', 'text'])

我想要的输出是包含以下句子的列表:

documents = ["AB", "CD", "E"]

到目前为止,我考虑创建一个“组”列,将组编号分配给公司和日期组合。根据组号,我可以对文本进行求和。

我尝试创建一个函数来分配这些组编号:

def label_groups(x, count):
if x['date'] == x['company']:
return count
else:
count = count+1

df['group'] = df.apply(lambda x: label_groups(x, 0), axis=1)

但这不起作用(它为每一行返回“None”)。

也许这是一种不必要的复杂方法,并且有一种更简单的方法来实现我想要的输出?

最佳答案

您可以groupby两列和聚合 join :

l = df.groupby(['date', 'company'], sort=False).text.agg(''.join).values.tolist()

print(l)
# ['AB', 'E', 'CD']

关于python - Pandas - 如何根据其他列中的条件对列中的句子求和,并将结果文档存储在列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56990460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com