簡體   English   中英

將 DataFrame 中的一列轉換為列表,將另一列轉換為設置

[英]Convert a column in DataFrame to list and another column to set

我想將 dataframe 中的一些列轉換為列表,將一些列轉換為具有相似名稱的設置給定的 dataframe,df:

    Name    id     other           list
0   ben  00005     abc      [1000, A, 90]
1  alex  00006     gf       [3000, B, 80]
2  linn  00007     jgj      [600, C, 55]
3  luke  00009     gg       [5000, D, 88]
4  alex  00001     gf      [7000, R, 98]
5  ben  00002      abc      [9000, S, 28]
6  ben   00003     abc      [5000, T, 48]

所需的 output,df1:

   Name    id                   other           list
0   ben  {00005, 0002,0003}     abc      [[1000, A, 90],[9000, S, 28],[5000, T, 48]]
1  alex  {00006,0001}           gf       [3000, B, 80], [7000, R, 98]
2  linn  {00007}                jgj      [600, C, 55]
3  luke  {00009}                gg       [5000, D, 88]

您可以將.groupby().agg() ) 一起使用:

df.groupby("Name", as_index=False).agg({"id": set, "other": "first", "list": list})

這輸出:

   Name                     id other                                           list
0  alex         {00001, 00006}    gf                 [[3000, B, 80], [7000, R, 98]]
1   ben  {00005, 00003, 00002}   abc  [[1000, A, 90], [9000, S, 28], [5000, T, 48]]
2  linn                {00007}   jgj                                 [[600, C, 55]]
3  luke                {00009}    gg                                [[5000, D, 88]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM