Home >Backend Development >Python Tutorial >How do you Split Tuples in a Pandas Dataframe Column into Individual Columns?

How do you Split Tuples in a Pandas Dataframe Column into Individual Columns?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-25 11:08:31742browse

How do you Split Tuples in a Pandas Dataframe Column into Individual Columns?

Splitting Columns of Tuples in Pandas Dataframes

In Pandas dataframes, it is common to encounter columns containing tuples, such as the example provided:

<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>

To split these columns into individual columns for each element in the tuple, you can use the following technique:

<code class="python"># Convert column to list of tuples
col_to_split = df['column_name'].tolist()

# Create a new dataframe from the list of tuples
split_col = pd.DataFrame(col_to_split, index=df.index)

# Assign new columns to original dataframe
df[['column_name_a', 'column_name_b']] = split_col</code>

For example, in the provided dataframe, you can split the LCV column into LCV-a and LCV-b columns:

<code class="python">d1[['LCV-a', 'LCV-b']] = pd.DataFrame(d1['LCV'].tolist(), index=d1.index)</code>

This will result in the following dataframe:

<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-a  LCV-b
0  (19.365430594452338, 13.880062435173587)  None
1  (19.099614489458364, 14.018867136617146)  None

                                   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>

The above is the detailed content of How do you Split Tuples in a Pandas Dataframe Column into Individual Columns?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn