<tfoot id='fO47W'></tfoot>
  1. <i id='fO47W'><tr id='fO47W'><dt id='fO47W'><q id='fO47W'><span id='fO47W'><b id='fO47W'><form id='fO47W'><ins id='fO47W'></ins><ul id='fO47W'></ul><sub id='fO47W'></sub></form><legend id='fO47W'></legend><bdo id='fO47W'><pre id='fO47W'><center id='fO47W'></center></pre></bdo></b><th id='fO47W'></th></span></q></dt></tr></i><div id='fO47W'><tfoot id='fO47W'></tfoot><dl id='fO47W'><fieldset id='fO47W'></fieldset></dl></div>

    <small id='fO47W'></small><noframes id='fO47W'>

    • <bdo id='fO47W'></bdo><ul id='fO47W'></ul>

    <legend id='fO47W'><style id='fO47W'><dir id='fO47W'><q id='fO47W'></q></dir></style></legend>

    1. 如果dataframe中的行以关键字开头,请将其与上面的行连接起来

      时间:2024-08-22
          <bdo id='n4AXc'></bdo><ul id='n4AXc'></ul>

        • <tfoot id='n4AXc'></tfoot>
              <legend id='n4AXc'><style id='n4AXc'><dir id='n4AXc'><q id='n4AXc'></q></dir></style></legend>
              • <small id='n4AXc'></small><noframes id='n4AXc'>

                  <tbody id='n4AXc'></tbody>
              • <i id='n4AXc'><tr id='n4AXc'><dt id='n4AXc'><q id='n4AXc'><span id='n4AXc'><b id='n4AXc'><form id='n4AXc'><ins id='n4AXc'></ins><ul id='n4AXc'></ul><sub id='n4AXc'></sub></form><legend id='n4AXc'></legend><bdo id='n4AXc'><pre id='n4AXc'><center id='n4AXc'></center></pre></bdo></b><th id='n4AXc'></th></span></q></dt></tr></i><div id='n4AXc'><tfoot id='n4AXc'></tfoot><dl id='n4AXc'><fieldset id='n4AXc'></fieldset></dl></div>
                本文介绍了如果dataframe中的行以关键字开头,请将其与上面的行连接起来的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我有一个类似于here的问题,但我一直无法解答。

                我有一个结构如下的DataFrame:

                0 inner join xx
                1 on xx
                2 and xx
                3 and yy
                4 and aa
                5 inner join zz
                

                我尝试将以‘and’开头的行追加到前一行,结果如下所示:

                0 inner join xx
                1 on xx and xx and yy and aa
                2 inner join zz
                

                稍后,我将对"on"关键字执行相同的操作。

                这是我到目前为止拥有的代码。它可以工作,但只能追加一次。留给我额外的‘and’关键字:

                for row in df:
                     s = df['join'].shift(-1)
                     m = s.str.startswith('and', na=False)
                     df.loc[m, 'join'] += (' ' + s[m])
                

                推荐答案

                可以使用groupby+apply

                (df.groupby((~df['join'].str.startswith('and ')).cumsum())
                   ['join'].apply(' '.join)
                )
                

                输出:

                join
                1                 inner join xx
                2    on xx and xx and yy and aa
                3                 inner join zz
                Name: join, dtype: object
                

                这篇关于如果dataframe中的行以关键字开头,请将其与上面的行连接起来的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:如何在Pandas中连接包含List(Series)的两列 下一篇:如何正确传递子进程参数

                相关文章

                1. <small id='o5Khe'></small><noframes id='o5Khe'>

                    • <bdo id='o5Khe'></bdo><ul id='o5Khe'></ul>
                  1. <tfoot id='o5Khe'></tfoot><legend id='o5Khe'><style id='o5Khe'><dir id='o5Khe'><q id='o5Khe'></q></dir></style></legend>

                    <i id='o5Khe'><tr id='o5Khe'><dt id='o5Khe'><q id='o5Khe'><span id='o5Khe'><b id='o5Khe'><form id='o5Khe'><ins id='o5Khe'></ins><ul id='o5Khe'></ul><sub id='o5Khe'></sub></form><legend id='o5Khe'></legend><bdo id='o5Khe'><pre id='o5Khe'><center id='o5Khe'></center></pre></bdo></b><th id='o5Khe'></th></span></q></dt></tr></i><div id='o5Khe'><tfoot id='o5Khe'></tfoot><dl id='o5Khe'><fieldset id='o5Khe'></fieldset></dl></div>