05_Pandas

05-3_연습문제_Fictional_Army

chuuvelop 2025. 3. 6. 21:50
728x90
import pandas as pd

 

문제1. 아래의 raw_data를 데이터프레임으로 변환하기

raw_data = {'regiment': ['Nighthawks', 'Nighthawks', 'Nighthawks', 'Nighthawks', 'Dragoons', 'Dragoons', 'Dragoons', 'Dragoons', 'Scouts', 'Scouts', 'Scouts', 'Scouts'],
            'company': ['1st', '1st', '2nd', '2nd', '1st', '1st', '2nd', '2nd','1st', '1st', '2nd', '2nd'],
            'deaths': [523, 52, 25, 616, 43, 234, 523, 62, 62, 73, 37, 35],
            'battles': [5, 42, 2, 2, 4, 7, 8, 3, 4, 7, 8, 9],
            'size': [1045, 957, 1099, 1400, 1592, 1006, 987, 849, 973, 1005, 1099, 1523],
            'veterans': [1, 5, 62, 26, 73, 37, 949, 48, 48, 435, 63, 345],
            'readiness': [1, 2, 3, 3, 2, 1, 2, 3, 2, 1, 2, 3],
            'armored': [1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1],
            'deserters': [4, 24, 31, 2, 3, 4, 24, 31, 2, 3, 2, 3],
            'origin': ['Arizona', 'California', 'Texas', 'Florida', 'Maine', 'Iowa', 'Alaska', 'Washington', 'Oregon', 'Wyoming', 'Louisana', 'Georgia']}
type(raw_data)
df = pd.DataFrame(raw_data)
df.head()

 

 

문제2. origin 열을 인덱스로 설정하기

df.set_index('origin', inplace=True)
df.head()

 

 

 

문제3. veterans 열을 출력하기

df['veterans']
 
0       1
1       5
2      62
3      26
4      73
5      37
6     949
7      48
8      48
9     435
10     63
11    345
Name: veterans, dtype: int64

 

 

문제4. veterans열과 deaths 열을 출력하기

df[['veterans', 'deaths']]

 

 

문제5. 데이터의 모든 열 이름 확인하기

df.columns
Index(['regiment', 'company', 'deaths', 'battles', 'size', 'veterans',
       'readiness', 'armored', 'deserters'],
      dtype='object')

 

 

문제6. Maine, Alaska 행의 deaths, size, deserters 열 출력하기

df.loc[['Maine', 'Alaska'],['deaths', 'size', 'deserters']]

 

 

문제7. deaths가 50보다 큰 데이터 출력하기

df[df["deaths"] > 50]

 

 

문제8. deaths가 500보다 크거나 50보다 작은 데이터 출력하기

df[(df["deaths"] > 500) | (df["deaths"] < 50)]

 

 

문제9. regiment 가 Dragoons가 아닌 데이터 출력하기

df[df["regiment"] != "Dragoons"]

728x90