首頁 >後端開發 >Python教學 >如何在 Pandas DataFrame 中分解清單?

如何在 Pandas DataFrame 中分解清單?

Linda Hamilton
Linda Hamilton原創
2024-12-03 11:45:12297瀏覽

How to Explode Lists Within Pandas DataFrames?

Pandas 中的爆炸清單

問題陳述

在Pandas 中,你可能會遇到單元格包含多個值清單的資料幀。與其在單一儲存格中儲存多個值,不如擴充資料框,使清單中的每個項目佔據自己的行。

Pandas 的解決方案 >= 0.25 h3>

Pandas 0.25 及以上版本引入Series 和 DataFrame 的 .explode() 引入Series 和 DataFrame 的

.explode()

方法。此方法有效地將列表元素分成不同的行。

df.explode('column_name')
要分解列,只需使用以下語法:

import pandas as pd
import numpy as np

df = pd.DataFrame(
    {'trial_num': [1, 2, 3, 1, 2, 3],
     'subject': [1, 1, 1, 2, 2, 2],
     'samples': [list(np.random.randn(3).round(2)) for i in range(6)]
    }
)
例如,讓我們考慮以下資料框:

df_exploded = df.explode('samples')
要分解「樣本」列,我們將使用:

   subject  trial_num  samples
0        1          1    0.57
1        1          1   -0.83
2        1          1    1.44
3        1          2   -0.01
4        1          2    1.13
5        1          2    0.36
6        1          3    1.18
# etc.
這將產生所需的輸出:

混合列註解

.explode()方法可以處理清單的混合列和標量,以及空列表和NaN。不過,要注意的是它一次只能爆炸一列。

以上是如何在 Pandas DataFrame 中分解清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn