在Pandas 中,你可能會遇到單元格包含多個值清單的資料幀。與其在單一儲存格中儲存多個值,不如擴充資料框,使清單中的每個項目佔據自己的行。
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.這將產生所需的輸出:
以上是如何在 Pandas DataFrame 中分解清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!