<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                提供了類似于SQL的join接口,供我們進行多表組合。不同的是,pandas可以對index進行join ### 2.3.1. Concatenate 將數據集拼接在一起 ``` # 樣本數據 df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3'], 'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']}, index=[0, 1, 2, 3]) df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'], 'B': ['B4', 'B5', 'B6', 'B7'], 'C': ['C4', 'C5', 'C6', 'C7'], 'D': ['D4', 'D5', 'D6', 'D7']}, index=[4, 5, 6, 7]) df3 = pd.DataFrame({'A': ['A8', 'A9', 'A10', 'A11'], 'B': ['B8', 'B9', 'B10', 'B11'], 'C': ['C8', 'C9', 'C10', 'C11'], 'D': ['D8', 'D9', 'D10', 'D11']}, index=[8, 9, 10, 11]) ``` df1 df2 df3如圖 ![](https://img.kancloud.cn/2d/0a/2d0a905fec4f39e3e5e06fa7ec80e605_229x466.png) ``` #拼接結果如下 result = pd.concat([df1,df2,df3]) ``` ![](https://img.kancloud.cn/22/bd/22bd82f426ca348cd68a00e1b7439295_233x447.png) ***** ``` df4 = pd.DataFrame({'B': ['B2', 'B3', 'B6', 'B7'], 'D': ['D2', 'D3', 'D6', 'D7'], 'F': ['F2', 'F3', 'F6', 'F7']}, index=[2, 3, 6, 7]) #axis=1進行拼接,兩張表橫向相同的索引放在同一行。兩張表的列并列拼接 pd.concat([df1, df4], axis=1) #結果如下 ``` ![](https://img.kancloud.cn/90/92/90922d643250686dc09e5c91063bfef7_748x230.png) ***** ``` #axis=0,兩張表行并列。兩張表列名相同的列放在同一列 a =pd.concat([df1, df4], axis=0) ``` ![](https://img.kancloud.cn/65/cc/65cc86817ab5b173b74769f1eab669df_408x531.png) ***** ``` # axis=1,join='inner'。 兩張表的列并列放,在行上,只保留 #兩張表共有的橫向索引行 pd.concat([df1, df4], axis=1, join='inner') ``` ***** ``` # axis=0,join='inner'。 兩張表的行并列放,在列上,只保留 #兩張表共有列。兩張表列名相同的列放在同一列。 b=pd.concat([df1, df4], axis=0, join='inner') b #結果如下圖 ``` ![](https://img.kancloud.cn/13/e8/13e8244ec45d8a171349317811ea4e10_405x492.png) ***** ``` # 將兩張表按axis=0拼接后。對橫向索引從0開始,重排序 d=pd.concat([df1, df4],ignore_index=True,axis=0) d ``` ![](https://img.kancloud.cn/2d/00/2d00fdc65fb68f22bd38d6de99b29efc_229x318.png) ***** ``` # 將兩張表按axis=1拼接后。對拼接結果的列從0開始重新命名 d=pd.concat([df1, df4],ignore_index=True,axis=1) d ``` ![](https://img.kancloud.cn/bb/c1/bbc1187831c6a679c2739cb0be0da342_315x243.png) ### 2.3.2. Database-style DataFrame joining/merging **要參照sql的表連接** merge函數用來對兩張表進行join,非常類似于sql當中的表聯結。 pandas里面不僅可以對columns進行Join,還可以對index進行join。 ~~~python pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None) ~~~ ``` # 基于key列將兩張表連接 left = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'], 'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3']}) right = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'], 'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']}) #兩張表都有"key"列 result = pd.merge(left, right, on='key') #假如兩張表要連接的列列名不同,要分別指定基于左表的哪列(left_on='key')和基于右表的哪列(right_on = 'key') pd.merge(left, right, left_on='key',right_on = 'key') ``` ![](https://img.kancloud.cn/ae/1e/ae1ef87ab5c768ab2c5adc70a264761b_743x214.png) ***** **根據多個主鍵進行join** ``` left = pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'], 'key2': ['K0', 'K1', 'K0', 'K1'], 'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3']}) right = pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'], 'key2': ['K0', 'K0', 'K0', 'K0'], 'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']}) #將兩張表多列主鍵都一樣的行join,不一樣的主鍵行都舍棄 result = pd.merge(left, right, on=['key1', 'key2']) ``` ![](https://img.kancloud.cn/9f/08/9f080d451df224870cd22e4094399b0b_903x216.png) ***** ``` #連接方式:左連接(how='left')。左邊表為基礎進行連接,右邊表沒有對應的行顯示為NaN result = pd.merge(left, right, how='left', on=['key1', 'key2'],indicator = True) ``` ![](https://img.kancloud.cn/fd/72/fd722f68ffd44df44b071bd65507410a_909x227.png) ***** ``` #外連接,基于兩張表各自的行進行連接,另一張表若沒有對應的行值都顯示為NaN result = pd.merge(left, right, how='outer', on=['key1', 'key2']) ``` **joining on index** ``` left = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'B': ['B0', 'B1', 'B2']}, index=['K0', 'K1', 'K2']) right = pd.DataFrame({'C': ['C0', 'C2', 'C3'], 'D': ['D0', 'D2', 'D3']}, index=['K0', 'K2', 'K3']) #以外連接方式連接,根據左邊表的全部索引(left_index=true)和右邊表的全部索引(right_index=True) result = pd.merge(left, right, left_index=True, right_index=True, how='outer') ``` ![](https://img.kancloud.cn/60/c5/60c597d5946900c75eb11ef0eb273fbb_597x198.png) ***** ``` left = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3'], 'key': ['K0', 'K1', 'K0', 'K1']}) right = pd.DataFrame({'C': ['C0', 'C1'], 'D': ['D0', 'D1']}, index=['K0', 'K1']) #左連接的方式連接兩張表。基于左邊表的key列(left_on='key')。基于右邊表的索引列(right_index=True) result = pd.merge(left, right, left_on='key', right_index=True, how='left'); ``` ![](https://img.kancloud.cn/af/74/af7468d25ab1fc0f17982bb86d6219ce_730x204.png) *****
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看