亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Python 中將列表中的值作為 pandas 數據框中的列值的可擴展方法

在 Python 中將列表中的值作為 pandas 數據框中的列值的可擴展方法

慕雪6442864 2023-10-18 15:33:43
我有一個 pandas 數據框,它只有一列,該列中每個單元格的值是一個數字列表/數組,該列表的長度為 100,并且該長度在所有單元格值中都是一致的。我們需要將每個列表值轉換為列值,換句話說,有一個包含 100 列的數據框,每個列值都位于列表/數組項中。像這樣的東西 變成可以使用 iterrows() 來完成,如下所示,但我們有大約 150 萬行,需要一個可擴展的解決方案,因為 iterrows() 會花費大量時間。cols = [f'col_{i}' for i in range(0, 4)]df_inter = pd.DataFrame(columns = cols)for index, row in df.iterrows():    df_inter.loc[len(df_inter)] = row['message']
查看完整描述

2 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

你可以這樣做:


In [28]: df = pd.DataFrame({'message':[[1,2,3,4,5], [3,4,5,6,7]]})


In [29]: df

Out[29]: 

           message

0  [1, 2, 3, 4, 5]

1  [3, 4, 5, 6, 7]


In [30]: res = pd.DataFrame(df.message.tolist(), index= df.index)


In [31]: res

Out[31]: 

   0  1  2  3  4

0  1  2  3  4  5

1  3  4  5  6  7


查看完整回答
反對 回復 2023-10-18
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

我認為這會起作用:


df.message.apply(pd.Series)


要使用 dask 進行擴展(假設已安裝):


import dask.dataframe as dd


ddf = dd.from_pandas(df, npartitions=8)

ddf.message.apply(pd.Series, meta={0: 'object'})


查看完整回答
反對 回復 2023-10-18
  • 2 回答
  • 0 關注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號