簡體   English   中英

Pandas Dataframe 循環到 append 值到每個唯一名稱的列表

[英]Pandas Dataframe loop to append values to a list for each unique name

我有以下 dataframe:

import pandas as pd
#Create DF

           
df = pd.DataFrame({ 
     'Name': ['Jim','Jack','Jim','Jack','Jim','Jack','Mick','Mick'],
    'Day':[1,1,2,2,3,3,4,4],
    'Value':[10,20,30,40,50,60,70,80],
    })
df

在此處輸入圖像描述

我想為每個唯一Name創建一個列表,並為每個列表創建 append Value

我預期的 output 是:

Jim = [10,30,50]
Jack = [20,40,60]
Mick = [70,80]

關於最有效的方法有什么想法嗎? 謝謝你!

你可以這樣做:

result = df.groupby('Name').Value.agg(list)

結果:

Name
Jack    [20, 40, 60]
Jim     [10, 30, 50]
Mick        [70, 80]
Name: Value, dtype: object

要聚合為字典,您可以使用:

df.groupby('Name')['Value'].agg(list).to_dict()

Output:

{'Jack': [20, 40, 60],
 'Jim': [10, 30, 50],
 'Mick': [70, 80]}

暫無
暫無

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

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