如何將 Pandas 資料框中的一列元組拆分為單獨的列?

DDD
發布: 2024-10-25 02:42:02
原創
673 人瀏覽過

How to split a column of tuples into separate columns in a Pandas dataframe?

如何從Pandas 資料框列擷取元組

問題:

問題:

在das在資料框中,包含元組的列是很常見的。然而,使用這些元組可能很麻煩。為了方便分析,通常需要將這些欄位拆分為包含各個元組元素的多個欄位。

解決方案:
  1. 將一列元組轉換為單獨的列,按照以下步驟操作:

    <code class="python">column_list = column.tolist()</code>
    登入後複製
  2. 使用tolist🎜>

    <code class="python">new_df = pd.DataFrame(column_list, index=dataframe.index)</code>
    登入後複製
    使用tolist🎜>
  3. 使用tolist () 方法將列轉換為元組列表:

    <code class="python">dataframe[['column_a', 'column_b']] = new_df[['0', '1']]</code>
    登入後複製

建立一個新的元組列表中的資料框:

將新資料框作為新欄位指派給原始資料框:
<code class="python">>>> d1
   y norm test  y norm train  len(y_train)  len(y_test)  \
0    64.904368    116.151232          1645          549
1    70.852681    112.639876          1645          549

                                    SVR RBF  \
0   (35.652207342877873, 22.95533537448393)
1  (39.563683797747622, 27.382483096332511)

                                        LCV  \
0  (19.365430594452338, 13.880062435173587)
1  (19.099614489458364, 14.018867136617146)

                                   RIDGE CV  \
0  (4.2907610988480362, 12.416745648065584)
1    (4.18864306788194, 12.980833914392477)

                                         RF  \
0   (9.9484841581029428, 16.46902345373697)
1  (10.139848213735391, 16.282141345406522)

                                           GB  \
0  (0.012816232716538605, 15.950164822266007)
1  (0.012814519804493328, 15.305745202851712)

                                             ET DATA
0  (0.00034337162272515505, 16.284800366214057)  j2m
1  (0.00024811554516431878, 15.556506191784194)  j2m
>>></code>
登入後複製

<code class="python">df[['LCV-a', 'LCV-b']] = pd.DataFrame(df['LCV'].tolist(), index=df.index)</code>
登入後複製

範例:
<code class="python">>>> df
   y norm test  y norm train  len(y_train)  len(y_test)  \
0    64.904368    116.151232          1645          549
1    70.852681    112.639876          1645          549

                                    SVR RBF  \
0   (35.652207342877873, 22.95533537448393)
1  (39.563683797747622, 27.382483096332511)

                                        LCV-a  LCV-b  \
0  19.365430594452338  13.880062435173587
1  19.099614489458364  14.018867136617146

                                   RIDGE CV  \
0  (4.2907610988480362, 12.416745648065584)
1    (4.18864306788194, 12.980833914392477)

                                         RF  \
0   (9.9484841581029428, 16.46902345373697)
1  (10.139848213735391, 16.282141345406522)

                                           GB  \
0  (0.012816232716538605, 15.950164822266007)
1  (0.012814519804493328, 15.305745202851712)

                                             ET DATA
0  (0.00034337162272515505, 16.284800366214057)  j2m
1  (0.00024811554516431878, 15.556506191784194)  j2m</code>
登入後複製
考慮以下資料框: 要將LCV 列拆分為單獨的列LCV-a 和LCV-b,您可以使用以下程式碼: 產生的資料框將是:

以上是如何將 Pandas 資料框中的一列元組拆分為單獨的列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!