데이터프레임이란?

가로축, 세로축이 있는 엑셀과 유사한 데이터구조.

import pandas as pd

friend_dict_list = [{'name': 'Jone', 'age': 20, 'job': 'student'},
         {'name': 'Jenny', 'age': 30, 'job': 'developer'},
         {'name': 'Nate', 'age': 30, 'job': 'teacher'}]

df = pd.DataFrame(friend_dict_list)

df
    name  age        job
0   Jone   20    student
1  Jenny   30  developer
2   Nate   30    teacher

딕셔너리로 만들 경우 키의 순서가 보장이 되지 않는 문제가 있다.

따라서 아래 코드와 같이 원하는 순서대로 지정해줘야하는 단점이 있다.

df = df[['name', 'age', 'job']]

column의 순서가 바뀌지 않는 데이터를 만드는 방법이다.

import pandas as pd

from collections import OrderedDict

friend_ordered_dict = OrderedDict(
  [
    ('name', ['John', 'Jenny', 'Nate']),
    ('age', [20, 30, 30]),
    ('job', ['student', 'developer', 'teacher'])
  ]
)

df = pd.DataFrame.from_dict(friend_ordered_dict)

df
    name  age        job
0   John   20    student
1  Jenny   30  developer
2   Nate   30    teacher

import pandas as pd

friend_list = [
  ['John', 20, 'student'],
  ['Jenny', 30, 'developer'],
  ['Nate', 30, 'teacher']
]

column_name = ['name', 'age', 'job'] #헤드 정보

df = pd.DataFrame.from_records(friend_list, columns=column_name)

name  age        job
0   John   20    student
1  Jenny   30  developer
2   Nate   30    teacher

헤드 정보를 따로 입력하지 않고 한번에 입력하는 것도 가능하다.