如何在Pandas DataFrame 中將一列取消嵌套為多行
問題:
您有一個DataFrame,其中一列包含值列表,並且您想要分隔每個列表元素
解決方案:
有多種方法可以在Pandas DataFrame 中取消嵌套(或分解)列:
方法1:使用explode(Pandas >= 0.25)
如果要取消巢狀單一列,則explode函數是最簡單的解:
方法2:使用apply和pd.Series
此方法很簡單,但出於效能考量不建議使用原因:
方法3:使用重複和DataFrame 建構子
使用未嵌套列中的重複值建立新的DataFrame:
方法4:使用reindex 或loc
使用未嵌套的值建立新的DataFrame,並使用reindex 或loc 將其與原始資料對齊:
方法5:使用collections.ChainMap (當清單包含唯一值時)
方法6:使用Numpy實現高效能
這個方法比前面的方法更有效率:
方法7:使用itertools.cycle和itertools.chain
純Python 解決方案fun:
泛化為多列:
以下函數允許您在DataFrame 中取消嵌入DataFrame套多列:
按列解除巢狀:
如果您需要水平取消巢狀列,請使用 DataFrame 建構子的 add_prefix 方法:
以上是如何將 Pandas DataFrame 列取消嵌套為多行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!