首頁 > 後端開發 > Python教學 > 如何將 Pandas DataFrame 中的逗號分隔字串拆分為單獨的行?

如何將 Pandas DataFrame 中的逗號分隔字串拆分為單獨的行?

Mary-Kate Olsen
發布: 2025-01-01 02:21:08
原創
335 人瀏覽過

How Can I Split Comma-Separated Strings in a Pandas DataFrame into Separate Rows?

將逗號分隔的Pandas Dataframe 字串拆分為單獨的行

在pandas 資料框中,經常會遇到一個或多個列包含逗號-需要拆分為單獨行的分隔值(CSV)。為了實現這一點,可以採用以下幾種方法:

使用 Series.explode() 或 DataFrame.explode():

此方法在 Pandas 0.25.0中可用以上,專為爆炸性列表而設計

df.explode('column_name')
登入後複製

使用向量化函數

對於涉及多個普通列和多個列表列的情況,向量化函數可以提供更通用的解決方案。

def explode(df, lst_cols, fill_value='', preserve_index=False):
    # ... (implementation details)
登入後複製

將CSV 字串轉換為列表:

如果目標只是將CSV 字串轉換為列表,則可以透過使用str.split() 拆分字串來實現。

df['var1'] = df['var1'].str.split(',')
登入後複製

自訂向量化方法

此方法可以處理多列,包括普通列和列表列

exploded_df = pd.DataFrame({
    col: np.repeat(x[col].values, x[lst_col].str.len())
    for col in x.columns.difference([lst_col])
}).assign(**{lst_col: np.concatenate(x[lst_col].values)})[x.columns.tolist()]
登入後複製

舊解

早期的方法涉及使用.set_index()、.str.split()、.stack() 和 . reset_index() 來分割 CSV 字串並將它們堆疊到單獨的行中。

這些方法提供了各種選項在 Pandas 資料框中拆分逗號分隔的字串,以滿足特定要求和效能考慮。

以上是如何將 Pandas DataFrame 中的逗號分隔字串拆分為單獨的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板