所以,我有一个 Dataframe 的类型:
| 文件|字符串|
| - ------|- ------|
| A类|美国广播公司|
| A类|定义|
| A类|吉|
| 乙|杰克尔|
| 乙|姆诺普|
| 乙|奎斯特|
| 乙|紫外线|
我尝试做的是根据两个条件合并/折叠行:
- 它们必须来自同一文档
- 它们应该被合并在一起直到最大长度
我有
因此,例如,如果我得到max_len == 6:
| 文件|字符串|
| - ------|- ------|
| A类|abc定义|
| A类|代夫吉|
| 乙|杰克尔|
| 乙|姆诺普|
| 乙|格尔斯图夫|
输出不需要那么严格。解释一下原因:我有一个文档,我可以将它拆分成句子,我想现在有一个 Dataframe 与每个"新句子"的最大长度。
1条答案
按热度按时间hgc7kmma1#
我还没有尝试运行这段代码,所以可能有错误,但本质上:
uniques = list(set(df['Doc'].values))
new_df = pd.DataFrame(index=uniques, columns=df.columns)
for doc in uniques:
x_df = df.loc[df['Doc']==doc, 'String']
concatenated = sum(x_df['String'].values)[:max_length]
new_df.loc[doc, 'String'] = concatenated