Я начал использовать Python неделю назад, и, как первая задача, моя команда попросила меня преобразовать кадр данных в файл JSON с определенной вложенной структурой.
мой кадр данных является следующим: < /p>
df = pd.DataFrame({
'type': ['customer','customer','customer','customer','customer','customer','customer','customer','customer','customer','customer','customer','customer','customer','customer'],
'customer_id': ['1-0000001','1-0000001','1-0000001','1-0000001','1-0000002','1-0000002','1-0000002','1-0000002','1-0000002','1-0000002','1-0000003','1-0000003','1-0000003','1-0000003','1-0000003'],
'email': ['customer1@otenet.gr','customer1@otenet.gr','customer1@otenet.gr','customer1@otenet.gr','customer2@gmail.com','customer2@gmail.com','customer2@gmail.com','customer2@gmail.com','customer2@gmail.com','customer2@gmail.com','customer3@yahoo.com.au','customer3@yahoo.com.au','customer3@yahoo.com.au','customer3@yahoo.com.au','customer3@yahoo.com.au'],
'# of policies':[4,4,4,4,6,6,6,6,6,6,5,5,5,5,5],
'POLICY_NO': ['000000001','000000002','000000003','000000004','000000005','000000006','000000007','000000008','000000009','000000010','000000011','000000012','000000013','000000014','000000015'],
'RECEIPT_NO': [420000001,'420000002','420000003','420000004','420000005','420000006','420000007','420000008','420000009','420000010','420000011','420000012','420000013','420000014','420000015'],
'PAYMENT_CODE': ['RF35000000000000000000001','RF35000000000000000000002','RF35000000000000000000003','RF35000000000000000000004','RF35000000000000000000005','RF35000000000000000000006','null','RF35000000000000000000008','RF35000000000000000000009','null','RF35000000000000000000011','RF35000000000000000000012','null','RF35000000000000000000014','RF35000000000000000000015'],
'KLADOS': ['Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου']
})
What I would like to achieve is creating a JSON file grouped by the column 'type', 'customer_id' and a dictionary that contains the fields 'email' and '# of policies'.
These three elements are used for grouping.
The attribute dictionary must contain another nested dictionary called 'policy details' with POLICY_NO, RECEIPT_NO, PAYMENT_CODE and Klados.
«Словарь политики» должен повторяться для каждой комбинации «тип», «customer_id» и «атрибуты» следующим образом: < /p>
"type": "customer",
"customer_id": "1-0000001",
"attributes": {
"email": "customer1@otenet.gr",
"# of policies": 4,
"policies details": [
{
"POLICY_NO": 000000001,
"RECEIPT_NO": 420000001,
"PAYMENT_CODE": "RF35000000000000000000001"
"KLADOS": "Αυτοκινήτου"
},
{
"POLICY_NO": 000000002,
"RECEIPT_NO": 420000002,
"PAYMENT_CODE": "RF35000000000000000000002"
"KLADOS": "Αυτοκινήτου"
......
Для достижения этого формата я попробовал следующие способы: 1 -й метод
# Create the new 'policy_details' field as dictionary
df['policy_details'] = df[['POLICY_NO', 'RECEIPT_NO', 'PAYMENT_CODE', 'KLADOS']].to_dict(orient='records')
# Create the new 'attributes' field as dictionary with the nested 'policy_details'
df['attributes'] = df[['email', '# of policies', 'policy_details']].to_dict(orient='records')
# Convert list of dictionaries to JSON
json_output = json.dumps(j, indent=4, ensure_ascii=False)
print(json_output)
< /code>
На этот раз: < /p>
'type', 'customer_id' и «атрибуты» наконец -то сгруппированы, но «атрибуты» представлены как строка, а не как словарь (ключ: пары ценностей) < /p>
< /li>
plisters ', но
Я начал использовать Python неделю назад, и, как первая задача, моя команда попросила меня преобразовать кадр данных в файл JSON с определенной вложенной структурой. мой кадр данных является следующим: < /p> df = pd.DataFrame({ 'type': ['customer','customer','customer','customer','customer','customer','customer','customer','customer','customer','customer','customer','customer','customer','customer'], 'customer_id': ['1-0000001','1-0000001','1-0000001','1-0000001','1-0000002','1-0000002','1-0000002','1-0000002','1-0000002','1-0000002','1-0000003','1-0000003','1-0000003','1-0000003','1-0000003'], 'email': ['customer1@otenet.gr','customer1@otenet.gr','customer1@otenet.gr','customer1@otenet.gr','customer2@gmail.com','customer2@gmail.com','customer2@gmail.com','customer2@gmail.com','customer2@gmail.com','customer2@gmail.com','customer3@yahoo.com.au','customer3@yahoo.com.au','customer3@yahoo.com.au','customer3@yahoo.com.au','customer3@yahoo.com.au'], '# of policies':[4,4,4,4,6,6,6,6,6,6,5,5,5,5,5], 'POLICY_NO': ['000000001','000000002','000000003','000000004','000000005','000000006','000000007','000000008','000000009','000000010','000000011','000000012','000000013','000000014','000000015'], 'RECEIPT_NO': [420000001,'420000002','420000003','420000004','420000005','420000006','420000007','420000008','420000009','420000010','420000011','420000012','420000013','420000014','420000015'], 'PAYMENT_CODE': ['RF35000000000000000000001','RF35000000000000000000002','RF35000000000000000000003','RF35000000000000000000004','RF35000000000000000000005','RF35000000000000000000006','null','RF35000000000000000000008','RF35000000000000000000009','null','RF35000000000000000000011','RF35000000000000000000012','null','RF35000000000000000000014','RF35000000000000000000015'], 'KLADOS': ['Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου','Αυτοκινήτου'] })
What I would like to achieve is creating a JSON file grouped by the column 'type', 'customer_id' and a dictionary that contains the fields 'email' and '# of policies'. These three elements are used for grouping. The attribute dictionary must contain another nested dictionary called 'policy details' with POLICY_NO, RECEIPT_NO, PAYMENT_CODE and Klados. «Словарь политики» должен повторяться для каждой комбинации «тип», «customer_id» и «атрибуты» следующим образом: < /p> "type": "customer", "customer_id": "1-0000001", "attributes": { "email": "customer1@otenet.gr", "# of policies": 4, "policies details": [ { "POLICY_NO": 000000001, "RECEIPT_NO": 420000001, "PAYMENT_CODE": "RF35000000000000000000001" "KLADOS": "Αυτοκινήτου" }, { "POLICY_NO": 000000002, "RECEIPT_NO": 420000002, "PAYMENT_CODE": "RF35000000000000000000002" "KLADOS": "Αυτοκινήτου" ......
Для достижения этого формата я попробовал следующие способы: [b] 1 -й метод [/b] # Create the new 'policy_details' field as dictionary df['policy_details'] = df[['POLICY_NO', 'RECEIPT_NO', 'PAYMENT_CODE', 'KLADOS']].to_dict(orient='records')
# Create the new 'attributes' field as dictionary with the nested 'policy_details' df['attributes'] = df[['email', '# of policies', 'policy_details']].to_dict(orient='records')
# Convert list of dictionaries to JSON json_output = json.dumps(j, indent=4, ensure_ascii=False)
print(json_output) < /code> На этот раз: < /p>
'type', 'customer_id' и «атрибуты» наконец -то сгруппированы, но «атрибуты» представлены как строка, а не как словарь (ключ: пары ценностей) < /p> < /li> plisters ', но
Моя команда попросила меня преобразовать кадр данных в файл JSON с определенной вложенной структурой. Мой кадр данных является следующим:
df = pd.DataFrame({
'type': ,
'customer_id': ,
'email': ,
'# of policies': ,
'POLICY_NO': ,
'RECEIPT_NO': ,...
Моя команда попросила меня преобразовать кадр данных в файл JSON с определенной вложенной структурой. Мой кадр данных является следующим:
df = pd.DataFrame({
'type': ,
'customer_id': ,
'email': ,
'# of policies': ,
'POLICY_NO': ,
'RECEIPT_NO': ,...
Предположим, у меня есть кадр данных размером 2*3:
df = pd.DataFrame({'A': , 'B': , 'C': }) А Б С 0 1 3 5 1 2 4 6 Мне интересно, как преобразовать df в кадр данных (2*3)*1, который имеет следующую форму? Я пробовал pd.DataFrame.explode() и...