헤맨 만큼 내 땅이다

카테고리 없음

Dataframe

mm대장 2023. 10. 27. 09:50

2) Dataframe

  • 행과 열을 가지는 2차원 자료구조
  • 행방향 이름: index
  • 열방향 이름: column
  • 생성시에는 index=, columns=, data= 로 설정
  • 조회시에는 df.index, df.columns=, df.value로 사용

[참고] 시리즈와 데이터프레임의 구조를 비교하면

  • 시리즈: 인덱스(index)와 값(values)으로 구성
  • 데이터프레임: 인덱스(index), 열(columns) 값(values)으로 구성

index = ['one', 'two', 'three']
columns = ['A', 'B', 'C']
values = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]  # 2d-array

df = pd.DataFrame(data=values, index=index, columns=columns)
df

 

- 생성된 데이터프레임으로부터 인덱스(index), 열(columns), 값(values)을 각각 출력해 보면

print('index는: ',df.index)
print('column 명은:', df.columns)
print('value 명은: ', df.values)

 

3. DataFrame 의 생성

  • DataFrame은 리스트(List), 시리즈(Series), 딕셔너리(dict), Numpy의 ndarray, csv로부터 생성할 수 있음
  • pd.DataFrame()

1) 리스트를 이용한 데이터프레임 생성

value만 먼저 설정

data_sets = [ ['1000', 'Steve', 90.72],  #-->1행    
                      ['1001', 'James', 78.09]   #-->2행]

pd.DataFrame(data=data_sets)

 

- 생성된 데이터프레임에 열(columns)을 지정

pd.DataFrame(data=data_sets, columns=['학번', '이름', '점수'])

pd.DataFrame(data=data_sets, columns=['학번', '이름', '점수'],
                  index=['first', 'second'])

 

2) 딕셔너리로부터 데이터프레임 생성 - {'key' : [value]}

  • key: columns
  • value: value

data = {
    '학번' : ['1000', '1001'],
    '이름' : [ 'Steve', 'James'],
    '점수': [90.72, 78.09]
    }

pd.DataFrame(data)

 

3) 외부 파일로 부터 데이터프레임 생성

  • Pandas는 CSV, 텍스트, Excel, SQL, HTML, JSON 등 다양한 데이터 파일을 읽어 데이터 프레임을 생성할 수 있음
  • pd.read_csv()

# 파일 로딩 (lemonade는 실제이 필요함_미첨부)
lemonade = pd.read_csv('lemonade.csv')

lemonade

 

생성된 데이터프레임으로부터 인덱스(index), 열(columns), 값(values) 출력하기

  • df.index
  • df.columns
  • df.values

print(lemonade.index)

lemonade.columns

lemonade.values