1. <legend id='V7ekG'><style id='V7ekG'><dir id='V7ekG'><q id='V7ekG'></q></dir></style></legend>
        <tfoot id='V7ekG'></tfoot>
      2. <i id='V7ekG'><tr id='V7ekG'><dt id='V7ekG'><q id='V7ekG'><span id='V7ekG'><b id='V7ekG'><form id='V7ekG'><ins id='V7ekG'></ins><ul id='V7ekG'></ul><sub id='V7ekG'></sub></form><legend id='V7ekG'></legend><bdo id='V7ekG'><pre id='V7ekG'><center id='V7ekG'></center></pre></bdo></b><th id='V7ekG'></th></span></q></dt></tr></i><div id='V7ekG'><tfoot id='V7ekG'></tfoot><dl id='V7ekG'><fieldset id='V7ekG'></fieldset></dl></div>
          <bdo id='V7ekG'></bdo><ul id='V7ekG'></ul>
      3. <small id='V7ekG'></small><noframes id='V7ekG'>

        使用 Pandas 从另一个数据帧中删除一个数据帧

        时间:2023-11-07
            <bdo id='SoXtJ'></bdo><ul id='SoXtJ'></ul>
          • <tfoot id='SoXtJ'></tfoot>
              <legend id='SoXtJ'><style id='SoXtJ'><dir id='SoXtJ'><q id='SoXtJ'></q></dir></style></legend>

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

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

                  本文介绍了使用 Pandas 从另一个数据帧中删除一个数据帧的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有两个不同大小的数据框(df1 nad df2).我想从 df1 中删除所有存储在 df2 中的行.

                  I have two dataframes of different size (df1 nad df2). I would like to remove from df1 all the rows which are stored within df2.

                  所以如果我有 df2 等于:

                  So if I have df2 equals to:

                       A  B
                  0  wer  6
                  1  tyu  7
                  

                  df1等于:

                       A  B  C
                  0  qwe  5  a
                  1  wer  6  s
                  2  wer  6  d
                  3  rty  9  f
                  4  tyu  7  g
                  5  tyu  7  h
                  6  tyu  7  j
                  7  iop  1  k
                  

                  最终的结果应该是这样的:

                  The final result should be like so:

                       A  B  C
                  0  qwe  5  a
                  1  rty  9  f
                  2  iop  1  k
                  

                  我能够通过使用 for 循环来实现我的目标,但我想知道是否有更好、更优雅、更高效的方式来执行此类操作.

                  I was able to achieve my goal by using a for loop but I would like to know if there is a better and more elegant and efficient way to perform such operation.

                  这是我编写的代码,以备您需要时使用:将熊猫导入为 pd

                  Here is the code I wrote in case you need it: import pandas as pd

                  df1 = pd.DataFrame({'A' : ['qwe', 'wer', 'wer', 'rty', 'tyu', 'tyu', 'tyu', 'iop'],
                                      'B' : [    5,     6,     6,     9,     7,     7,     7,     1],
                                      'C' : ['a'  ,   's',   'd',   'f',   'g',   'h',   'j',   'k']})
                  
                  df2 = pd.DataFrame({'A' : ['wer', 'tyu'],
                                      'B' : [    6,     7]})
                  
                  for i, row in df2.iterrows():
                      df1 = df1[(df1['A']!=row['A']) & (df1['B']!=row['B'])].reset_index(drop=True)
                  

                  推荐答案

                  使用merge 使用 query,最后通过 drop:

                  df = pd.merge(df1, df2, on=['A','B'], how='outer', indicator=True)
                         .query("_merge != 'both'")
                         .drop('_merge', axis=1)
                         .reset_index(drop=True)
                  print (df)
                       A  B  C
                  0  qwe  5  a
                  1  rty  9  f
                  2  iop  1  k
                  

                  这篇关于使用 Pandas 从另一个数据帧中删除一个数据帧的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:来自 GAE 的 Cloud Storage API 请求 - 403 未配置访问 下一篇:如何检查两个单独的文件中是否存在字符串列表

                  相关文章

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

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

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