Sara
Sara

Reputation: 442

data transformation from pandas to json

I have a dataframe df:

d = {'col1': [1, 2,0,55,12,3], 'col3': ['A','A','A','B','B','B'] } 
df = pd.DataFrame(data=d)
df 

    col1        col3
0   1           A
1   2           A
2   0           A
3   55          B
4   12          B
6   3           B

and want to build a Json from it, as the results looks like this :

json_result = { 'A' : [1,2,0], 'B': [55,12,3] }

basically, I would like for each group of the col3 to affect an array of its corresponding values from the dataframe

Upvotes: 0

Views: 49

Answers (1)

jezrael
jezrael

Reputation: 863291

Aggregate list and then use Series.to_json:

print (df.groupby('col3')['col1'].agg(list).to_json())
{"A":[1,2,0],"B":[55,12,3]}

or if need dictionary use Series.to_dict:

print (df.groupby('col3')['col1'].agg(list).to_dict())
{'A': [1, 2, 0], 'B': [55, 12, 3]}

Upvotes: 3

Related Questions