Heim >Backend-Entwicklung >Python-Tutorial >Wie teilen Sie Tupel in einer Pandas-Dataframe-Spalte in einzelne Spalten auf?
In Pandas-Datenrahmen stößt man häufig auf Spalten, die Tupel enthalten, wie im folgenden Beispiel:
<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>
Um diese Spalten für jedes Element im Tupel in einzelne Spalten aufzuteilen, können Sie die folgende Technik verwenden:
<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>
Zum Beispiel können Sie im bereitgestellten Datenrahmen die LCV-Spalte in LCV- aufteilen. a- und LCV-b-Spalten:
<code class="python">d1[['LCV-a', 'LCV-b']] = pd.DataFrame(d1['LCV'].tolist(), index=d1.index)</code>
Dies führt zu folgendem Datenrahmen:
<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>
Das obige ist der detaillierte Inhalt vonWie teilen Sie Tupel in einer Pandas-Dataframe-Spalte in einzelne Spalten auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!