У меня есть следующий пример pandas DataFrame, в котором есть два столбца: Name
и Age
:
import pandas as pd
data = [['Alex',10],['Bob',12],['Barbara',25], ['Bob',72],
['Clarke',13], ['Clarke',13], ['Destiny', 45]]
df = pd.DataFrame(data,columns=['Name','Age'], dtype=float)
print(df)
Name Age
0 Alex 10.0
1 Bob 12.0
2 Barbara 25.0
3 Bob 72.0
4 Clarke 13.0
5 Clarke 13.0
6 Destiny 45.0
Моя конечная цель - создать словарь, в котором каждый ключ является именем икаждое значение представляет собой список Ages
, связанный с этим Name
.
Таким образом, конечный словарь будет
final_result = {"Alex":[10], "Bob":[12, 72], "Barbara":[25], "Clarke":[13], "Destiny":[45]}
Мой подход:
Я мог бы попробоватьперебирая кадр данных для создания списков и переименовывая столбец:
for name in df.Name.unique():
list_attributes = []
for i in df.loc[df.Age == name].Age.unique()
list_attributes.append(i)
df['List_Column'] = list_attributes
Но это очень запутанно. Какой самый эффективный способ сделать это?