• <small id='FwGyT'></small><noframes id='FwGyT'>

  • <legend id='FwGyT'><style id='FwGyT'><dir id='FwGyT'><q id='FwGyT'></q></dir></style></legend>
      <bdo id='FwGyT'></bdo><ul id='FwGyT'></ul>

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

        <tfoot id='FwGyT'></tfoot>
      1. 如何根据python中的通用ID值将2列的垂直pandas表转换为水平表

        How to convert vertical pandas table of 2 columns to horizontal table based on common ID value in python(如何根据python中的通用ID值将2列的垂直pandas表转换为水平表)
          <bdo id='zoWdP'></bdo><ul id='zoWdP'></ul>

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

                3. 本文介绍了如何根据python中的通用ID值将2列的垂直pandas表转换为水平表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  df1 = pd.DataFrame({'foo': ['one', 'one', 'one', 'two', 'two', 'two'],
                                      'bar': ['A', 'B', 'C', 'A', 'B', 'C']})
                  

                  <头>
                  酒吧
                  0一个一个
                  1一个B
                  2一个C
                  3两个一个
                  4两个B
                  5两个C

                  我想把它转换成

                  <头>
                  val1val2val3
                  一个一个BC
                  两个一个BC

                  我试过的代码是:

                  pd.pivot_table(df1,index='foo',aggfunc=['first'])
                  

                  但上面的代码只返回第一个值

                  But the above code is returning only the first value

                  推荐答案

                  我们可以用 groupby cumcount 并将其用作枢轴列,然后 add_prefix 到数值和 reset_index 返回 'foo' 值到列:

                  We can enumerate groups with groupby cumcount and use those as the pivot columns then add_prefix to the numerical values and reset_index to return the 'foo' values to the columns:

                  new_df = (
                      df1.pivot_table(index='foo',
                                      columns=df1.groupby('foo').cumcount() + 1,
                                      values='bar', 
                                      aggfunc='first')
                          .add_prefix('val')
                          .reset_index()
                  )
                  

                     foo val1 val2 val3
                  0  one    A    B    C
                  1  two    A    B    C
                  


                  看看 df1.groupby('foo').cumcount() + 1 如何制作列:

                     foo  columns
                  0  one        1  # First instance of "one"
                  1  one        2  # Second instance of "one"
                  2  one        3  # Third instance of "one"
                  3  two        1
                  4  two        2
                  5  two        3
                  

                  生成上述DataFrame的代码:

                  Code to generate the above DataFrame:

                  demo_df = pd.DataFrame({
                      'foo': df1['foo'],
                      'columns': df1.groupby('foo').cumcount() + 1
                  })
                  

                  这篇关于如何根据python中的通用ID值将2列的垂直pandas表转换为水平表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Running .jl file from R or Python(从 R 或 Python 运行 .jl 文件)
                  Running Julia .jl file in python(在 python 中运行 Julia .jl 文件)
                  Using PIP in a Azure WebApp(在 Azure WebApp 中使用 PIP)
                  How to run python3.7 based flask web api on azure(如何在 azure 上运行基于 python3.7 的烧瓶 web api)
                  Azure Python Web App Internal Server Error(Azure Python Web 应用程序内部服务器错误)
                  Run python dlib library on azure app service(在 azure app 服务上运行 python dlib 库)
                  <i id='wAsEb'><tr id='wAsEb'><dt id='wAsEb'><q id='wAsEb'><span id='wAsEb'><b id='wAsEb'><form id='wAsEb'><ins id='wAsEb'></ins><ul id='wAsEb'></ul><sub id='wAsEb'></sub></form><legend id='wAsEb'></legend><bdo id='wAsEb'><pre id='wAsEb'><center id='wAsEb'></center></pre></bdo></b><th id='wAsEb'></th></span></q></dt></tr></i><div id='wAsEb'><tfoot id='wAsEb'></tfoot><dl id='wAsEb'><fieldset id='wAsEb'></fieldset></dl></div>
                    <tfoot id='wAsEb'></tfoot>

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

                      <tbody id='wAsEb'></tbody>

                            <bdo id='wAsEb'></bdo><ul id='wAsEb'></ul>
                          • <legend id='wAsEb'><style id='wAsEb'><dir id='wAsEb'><q id='wAsEb'></q></dir></style></legend>