Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah anda Memisahkan Tuple dalam Lajur Bingkai Data Pandas kepada Lajur Individu?

Bagaimanakah anda Memisahkan Tuple dalam Lajur Bingkai Data Pandas kepada Lajur Individu?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-25 11:08:31745semak imbas

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

Memisahkan Lajur Tuple dalam Bingkai Data Pandas

Dalam bingkai data Pandas, adalah perkara biasa untuk menemui lajur yang mengandungi tupel, seperti contoh yang diberikan:

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

Untuk membahagikan lajur ini kepada lajur individu bagi setiap elemen dalam tupel, anda boleh menggunakan teknik berikut:

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

Sebagai contoh, dalam bingkai data yang disediakan, anda boleh membahagi lajur LCV kepada LCV- lajur a dan LCV-b:

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

Ini akan menghasilkan rangka data berikut:

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

Atas ialah kandungan terperinci Bagaimanakah anda Memisahkan Tuple dalam Lajur Bingkai Data Pandas kepada Lajur Individu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn