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

Mary-Kate Olsen
Release: 2024-10-25 11:08:31
Original
668 people have browsed it

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>
Copy after login

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>
Copy after login

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>
Copy after login

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>
Copy after login

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!

source:php.cn
Statement of this Website
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
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!