如何将大 pandas DataFrame结果转换为用户定义的json格式 [英] How to convert pandas DataFrame result to user defined json format
本文介绍了如何将大 pandas DataFrame结果转换为用户定义的json格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
data_df = pandas.read_csv('details.csv')
data_df = data_df.replace('Null', np.nan)
df = data_df.groupby(['country', 'branch']).count()
df = df.drop('sales', axis=1)
df = df.reset_index()
print df
我想转换数据框的结果( df )到我以下提到的用户定义的json格式。打印结果( df )后,我将以
I would like to convert result of a Data Frame(df) to user defined json format that i mentioned below. After printing the result(df) i will get the result in the form
country branch no_of_employee total_salary count_DOB count_email
x a 30 2500000 20 25
x b 20 350000 15 20
y c 30 4500000 30 30
z d 40 5500000 40 40
z e 10 1000000 10 10
z f 15 1500000 15 15
我想将其转换为Json.My所需的格式是
i would like to convert this to Json.My desired format is
x
{
a
{
no.of employees:30
total salary:2500000
count_email:25
}
b
{
no.of employees:20
total salary:350000
count_email:25
}
}
y
{
c
{
no.of employees:30
total salary:4500000
count_email:30
}
}
z
{
d
{
no.of employees:40
total salary:550000
count_email:40
}
e
{
no.of employees:10
total salary:100000
count_email:15
}
f
{
no.of employees:15
total salary:1500000
count_email:15
}
}
请注意,我不希望数据中的所有字段框架结果我n Json(例如:count_DOB)
Please notice that i don't want all the fields in the data Frame Result in Json(eg:count_DOB)
推荐答案
您可以使用 groupby
与 申请
to_dict
,最后一次 to_json
:
You can use groupby
with apply
to_dict
and last to_json
:
country branch no_of_employee total_salary count_DOB count_email
0 x a 30 2500000 20 25
1 x b 20 350000 15 20
2 y c 30 4500000 30 30
3 z d 40 5500000 40 40
4 z e 10 1000000 10 10
5 z f 15 1500000 15 15
g = df.groupby('country')[["branch", "no_of_employee","total_salary", "count_email"]]
.apply(lambda x: x.set_index('branch').to_dict(orient='index'))
print g.to_json()
{
"x": {
"a": {
"total_salary": 2500000,
"no_of_employee": 30,
"count_email": 25
},
"b": {
"total_salary": 350000,
"no_of_employee": 20,
"count_email": 20
}
},
"y": {
"c": {
"total_salary": 4500000,
"no_of_employee": 30,
"count_email": 30
}
},
"z": {
"e": {
"total_salary": 1000000,
"no_of_employee": 10,
"count_email": 10
},
"d": {
"total_salary": 5500000,
"no_of_employee": 40,
"count_email": 40
},
"f": {
"total_salary": 1500000,
"no_of_employee": 15,
"count_email": 15
}
}
}
我尝试打印g.to_dict()
,但JSON是无效(请查看此处)。
I try print g.to_dict()
, but JSON was invalid (check it here).
这篇关于如何将大 pandas DataFrame结果转换为用户定义的json格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文