gpt4 book ai didi

Python 数组与 json

转载 作者:行者123 更新时间:2023-12-01 07:25:42 25 4
gpt4 key购买 nike

假设我有下一个数据框。

import pandas as pd 

# initialize list of lists
data = [[10,'A',2], [11,'A',4], [11,'B',7], [11,'C',4], [12,'A',9], [12,'C',8], [12,'D',5]]

# Create the pandas DataFrame
df = pd.DataFrame(data, columns = ['User', 'Pref','Score'])

# print dataframe.
df

User Pref Score
0 10 A 2
1 11 A 4
2 11 B 7
3 11 C 4
4 12 A 9
5 12 C 8
6 12 D 5

df.groupby('User')['Pref'].apply(lambda g: g.to_json(orient='records')).reset_index()

User Pref
0 10 ["A"]
1 11 ["A","B","C"]
2 12 ["A","C","D"]

如何获得一个新的数据帧,其中偏好和分数在每个用户的级别上分开。

User    Pref
0 10 [{"A",2}]
1 11 [{"A",4},{"B",7},{"C",4}]
2 12 [{"A",9},{"C",8},{"D",5}]

最佳答案

你可以这样做

 df_ = df.groupby('User').apply(lambda x : [{a,b} for (a,b) in zip(x.Pref,
x.Score)]).to_frame('Pref')

输出

df_
Out[11]:
Pref
User
10 [{2, A}]
11 [{4, A}, {B, 7}, {4, C}]
12 [{9, A}, {8, C}, {D, 5}]

关于Python 数组与 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57466855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com