1. 시리즈 만들기
판다스의 Series 메서드에 리스트를 전달하여 시리즈를 생성합니다.
import pandas as pd
s = pd.Series(['banana',42])
print(s)
0 banana
1 42
dtype: object
2. 시리즈를 생성할 때 문자열을 인덱스로 지정할 수도 있습니다.
문자열을 인덱스로 지정하려면 Series 메서드의 index 인자를 통해 인덱스로 사용하고자 하는 문자열을 리스트에
담아 전달하면 됩니다.
s = pd.Series(['Wes McKinney', 'Craetor of Pandas'])
print(s)
0 Wes McKinney
1 Craetor of Pandas
dtype: object
s = pd.Series(['Wes McKinney', 'Creator of Pandas'], index=['Person', 'Who'])
print(s)
Person Wes McKinney
Who Creator of Pandas
dtype: object
3. 데이터프레임 만들기
데이터프레임을 만들기 위해서는 딕셔너리를 DataFrame 클래스에 전달해야 합니다.
scientists = pd.DataFrame({
'Name': ['Rosaline Franklin', 'William Gosset'],
'Occupation': ['Chemist', 'Statistician'],
'Born': ['1920-07-25', '1876-06-13'],
'Died': ['1958-04-16', '1937-10-16'],
'Age': [37, 61]}
)
print(scientists)
Name Occupation Born Died Age
0 Rosaline Franklin Chemist 1920-07-25 1958-04-16 37
1 William Gosset Statistician 1876-06-13 1937-10-16 61
4. 시리즈와 마찬가지로 데이터프레임도 인덱스를 따로 지정하지 않으면 인덱스를 0부터 자동으로 생성합니다.
인덱스를 따로 지정하려면 index 인자에 리스트를 전달하면 됩니다.
또 columns 인자를 사용하면 데이터프레임의 열 순서를 지정할 수 있습니다.
예를 들어 데이터프레임을 만들 때 Occupation, Born, Died, Age의 순서로 딕셔너리를 전달했어도 columns인자에
Occupation, Born, Age, Died의 순서로 열 이름을 전달하면 생성된 데이터프레임의 열 순서는 columns에
전달한 값을 따라갑니다.
scientists = pd.DataFrame(
data={'Occupation': ['Chemist', 'Statistician'],
'Born': ['1920-07-25', '1876-06-13'],
'Died': ['1958-04-16', '1937-10-16'],
'Age': [37, 61]},
index=['Rosaline Franklin', 'William Gosset'],
columns=['Occupation', 'Born', 'Age', 'Died']
)
print(scientists)
Occupation Born Age Died
Rosaline Franklin Chemist 1920-07-25 37 1958-04-16
William Gosset Statistician 1876-06-13 61 1937-10-16
5. 과정 1에서 데이터프레임을 만들 때 딕셔너리를 전달한다고 했습니다.
그런데 딕셔너리는 키(Key)와 값(Value)으로 이루어진 한 쌍의 데이터들의 순서는 보장하지 않습니다.
만약 순서가 보장된 딕셔너리를 전달하려면 OrderedDict를 사용해야 합니다.
다음과 같이 입력하면 딕셔너리의 데이터 순서를 그대로 유지하면서 데이터프레임을 만들 수 있습니다.
from collections import OrderedDict
scientists = pd.DataFrame(OrderedDict([
('Name', ['Rosaline Franklin', 'William Gosset']),
('Occupation', ['Chemist', 'Statistician']),
('Born', ['1920-07-25', '1876-06-13']),
('Died', ['1958-04-16', '1937-10-16']),
('Age', [37, 61])
])
)
print(scientists)
Name Occupation Born Died Age
0 Rosaline Franklin Chemist 1920-07-25 1958-04-16 37
1 William Gosset Statistician 1876-06-13 1937-10-16 61
출처 : doit 데이터 분석을 위한 판다스 입문
판다스, 시리즈 다루기 - 응용 (0) | 2021.03.20 |
---|---|
판다스, 시리즈 다루기 - 기초 (0) | 2021.03.20 |
그래프 그리기 (0) | 2021.03.19 |
기초적인 통계 계산하기 (0) | 2021.03.19 |
데이터 추출하기 (0) | 2021.03.18 |