Разобрать список Python в Pandas DataFrame

У меня есть массив со значениями, разделенными символом «|». Я хотел бы проанализировать его в фрейме данных pandas.

import pandas as pd    
arr = ['19345360853|5264654|100530|2017-01-07', '19345360853|13518371|100530|2018-10-08']
pd.DataFrame([{'Id': item.split('|')[0] ,'Code_A': item.split('|')[1] , 'Code_B': item.split('|')[2],'Reg_Date': item.split('|')[3]} for item in arr ])

Я хотел бы, чтобы фрейм данных pandas находился в следующей схеме:

Строка идентификатора Строка «Код_А» Строка «Код_B» Дата 'Reg_Date'

Таким образом, полученный фрейм данных Pandas будет похож на этот. фрейм данных результата

Любая помощь приветствуется.

В Python нет массивов, в Python есть списки. Тем не менее, почему бы просто не разделить строки с помощью разделителя |

Jab 29.01.2019 22:04
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
1
1 186
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сначала преобразуйте в двумерный список

arr = [a.split("|") for a in arr]

Во-вторых, конвертировать в фрейм данных pandas

data = pd.DataFrame(arr,columns=['Id','Code_A','Code_B','Reg_Date'])

            Id    Code_A  Code_B    Reg_Date
0  19345360853   5264654  100530  2017-01-07
1  19345360853  13518371  100530  2018-10-08

Преобразование столбца Reg_Date с помощью astype (ссылка: атипия)

a =pd.DataFrame(arr,columns=['Id','Code_A','Code_B','Reg_Date'])
a['Reg_Date'] = a['Reg_Date'].astype('datetime64[ns]')

Как получить столбец Reg_Date как дату?

Keerikkattu Chellappan 29.01.2019 22:12

@KeerikkattuChellappan, используя astype, я редактирую ответ

Roberto Mena 29.01.2019 22:14

Просто отметим, что вы можете превратить [a.split("|") for a in arr] в генератор понимания, и он не будет занимать столько места в памяти.

Jab 29.01.2019 23:04

Другие вопросы по теме