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

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

如何根據列中的列表元素對數據框進行分組

如何根據列中的列表元素對數據框進行分組

蠱毒傳說 2023-10-06 18:28:59
我有一個像這樣的數據框:   movie_id genres0         2  [1,2]1         3  [1,3]2         4  [2,4]我想根據類型類型制作電影組(重復)。像這樣:   genre_group movie_id genres0            1        2  [1,2]1                     3  [1,3]0            2        2  [1,2]2                     4  [2,4]1            3        3  [1,3]2            4        4  [2,4]
查看完整描述

2 回答

?
守候你守候我

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

您可以使用explode和map:


df1 = df.explode('genres').sort_values('genres').rename(

                    columns={'genres' : 'genres_group'})\

                   .set_index('genres_group',append=True)

 


df1['genres'] = df1.index.get_level_values(0).map(df['genres'])   


print(df1)


                movie_id  genres

  genres_group                  

0 1                    2  [1, 2]

1 1                    3  [1, 3]

0 2                    2  [1, 2]

2 2                    4  [2, 4]

1 3                    3  [1, 3]

2 4                    4  [2, 4]


查看完整回答
反對 回復 2023-10-06
?
動漫人物

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

這是你需要達到的結果嗎?

genre_group = pd.Series(df.apply(lambda x: pd.Series(x['genres']), axis=1).stack().reset_index(level=1, drop=True), name='genre_group')
df = pd.concat([genre_group, df], axis = 1)

輸出:

https://img1.sycdn.imooc.com//651fe1bb0001509302660224.jpg

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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