將逗號分隔的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中文網其他相關文章!