python - 如何根据句号后面的行将合并为列表的条件将 pandas 数据帧的行组合为列表?

标签 python python-3.x pandas list dataframe

我有一个有两列的数据框。我想将行合并为列表,其中条件是句号之前的行将是一个列表,句号之后的行将是另一个列表。这应该反射(reflect)在两列上,但是,条件基于第一列。例如:

<表类=“s-表”> <标题> token 标签 <正文> 比较 O 的 O 布地奈德 我 图布哈勒 我 与 O 布地奈德 我 水色 我 。 O 雷诺考特 O 学习 O 组 O 。 O

应该产生以下结果:

<表类=“s-表”> <标题> token 标签 <正文> [“比较”、“of”、“布地奈德”、“Turbuhaler”、“与”、“布地奈德”、“aqua”、“。”] ["O","O","I","I","O","I","I","O"] ["R​​hinocort","研究","小组","."] [“O”,“O”,“O”,“O”]

我该如何解决这个问题?

最佳答案

尝试:

tmp = (df["Tokens"] == ".").astype(int).shift().cumsum().fillna(0)

x = df.groupby(tmp).agg(list).reset_index(drop=True)
print(x)

打印:

                                                                Tokens                     label
0  [Comparison, of, budesonide, Turbuhaler, with, budesonide, aqua, .]  [O, O, I, I, O, I, I, O]
1                                         [Rhinocort, Study, Group, .]              [O, O, O, O]

关于python - 如何根据句号后面的行将合并为列表的条件将 pandas 数据帧的行组合为列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71375325/

相关文章:

python - 如何确保用户输入的日期格式正确

python - 使用 Python 和 Keras 调整 CSV 数据的大小

python - 如何在 python 中安全地解压字典?

python - 如何在python中从csv绘制图形

Python - pandas - 找到与平局解析最常见的组合 - 性能

python - 为 pandas to_datetime 函数指定时区

python - 从 pandas 数据帧生成自定义 JSON 格式输出

python - 基本电路的数据结构

python子模块找不到导入

python - 当 multiprocessing 使用 fork 作为起始方法时,为什么传递给 Pool.map 的函数会被 pickle ?