본문 바로가기
Programming/Pandas

[Pandas] DataFrame 만들기 및 index 변경하기

by 느리게 걷는 즐거움 2021. 12. 26.
반응형

DataFrame 만들기 및 index 변경하기

코드를 수행하기 전에 아래의 필요한 라이브러리를 추가가 필요합니다.

import numpy as np
import pandas as pd
import pandas_datareader as pdr

import datetime
from datetime import datetime, date

import matplotlib.pyplot as plt

Data Frame 만들기

In [21]:
score_math = pd.Series([10,20,30,40,50])
score_math
Out[21]:
0    10
1    20
2    30
3    40
4    50
dtype: int64
In [23]:
score_sci = pd.Series([70,80,90,100,10])
score_sci
Out[23]:
0     70
1     80
2     90
3    100
4     10
dtype: int64
In [25]:
test1_df = pd.DataFrame({"Math":score_math, "Science":score_sci})
test1_df
Out[25]:
MathScience01234
10 70
20 80
30 90
40 100
50 10

score_math, score_sci의 이름으로 series를 생성하고 각각 "Math"와 "Science"이름으로 컬럼명을 정하였습니다. 그리고 test1_df라는 이름으로 data frame을 만들 결과 입니다. index가 0,1,2 인것이 다소 이상해 보입니다.각 index 학생이름으로 변경해봅니다.

Dataframe index 변경하기

In [34]:
test1_df.index = pd.Series(['Mike', 'Alice', 'Bob', 'Jane', "Tony"])
test1_df
Out[34]:
MathScienceMikeAliceBobJaneTony
10 70
20 80
30 90
40 100
50 10

Dataframe 컬럼 추가하기

그런데 생각해보니 같은 이름을 가진 사람이 있을 수 있으니 학생번호를 index로 사용하고 학생이름 컬럼을 추가하는게 더 좋을 것 같습니다. 다시 index는 학생번호로 바꾸고 학생이름 컬럼을 추가해 봅니다.

In [41]:
new_index = pd.Series(range(0,5))
test1_df.index = new_index
test1_df
Out[41]:
MathScience01234
10 70
20 80
30 90
40 100
50 10
In [42]:
test1_df["Name"] = pd.Series(['Mike', 'Alice', 'Bob', 'Jane', "Tony"])
test1_df
Out[42]:
MathScienceName01234
10 70 Mike
20 80 Alice
30 90 Bob
40 100 Jane
50 10 Tony

 

반응형