데이터프레임에서 현재가 컬럼만 출력해보세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
# ---------------------------------------------------------------------
# 답 :
df['현재가']
위 데이터프레임에서 "037730" 종목의 데이터를 인덱싱해보세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df.loc['037730']
위 데이터프레임에서 첫 번째와 세 번째 행을 동시에 인덱싱해보세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df.loc[["037730", "005760"]]
위 데이터프레임에서 037730 종목의 등락률을 출력하세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df.iloc[0, 2]
위 데이터프레임에서 iat과 at 속성을 사용하여 037730 종목의 등락률을 출력하세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
print(df.at['037730', '등락률'])
print(df.iat[0, 2])
다음 데이터프레임에서 037730 종목의 등락률을 출력하세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
print(df.loc['037730', '등락률'])
위 데이터프레임에서 iloc 속성을 사용하여 첫번째, 두번째 행을 슬라이싱하세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df.iloc[0:2]
위 데이터프레임에서 loc 속성을 사용하여 첫번째, 두번째 행을 슬라이싱하세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df.loc['037730':'036360']
위 데이터프레임에서 iloc 속성을 사용하여 첫 번째 컬럼을 인덱싱하세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df.iloc[:, 0]
위 데이터프레임에서 loc 속성을 사용하여 첫 번째 컬럼을 인덱싱하세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df.loc[:, "종목명"]
위 데이터프레임에서 loc 속성을 사용하여 '037730' 종목의 '종목명', '현재가' 컬럼을 선택하세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df.loc['037730', ['종목명', '현재가']]
위 데이터프레임에서 iloc 속성을 사용하여 '037730' 종목의 '종목명', '현재가' 컬럼을 선택하세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df.iloc[0, [0, 2]]
위 데이터프레임에서 loc를 속성을 사용하여 다음 범위를 가져오세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df.loc[['037730', '036360'], ['종목명', '현재가']]
위 데이터프레임에서 iloc를 속성을 사용하여 다음 범위를 가져오세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df.iloc[[0, 1], [0, 1]]
다음 데이터프레임에서 현재가가 1500 이상인 값만 가져와보세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df[df['현재가'] >= 1500]
위 데이터프레임에서 현재가가 1,500원 이상이면서 1,700원 미만인 값만 필터링 해보세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df[(df['현재가'] >= 1500) & (df['현재가'] < 1700)]
다음 데이터프레임에 목표가 컬럼을 추가하세요. 목표가는 현재가에서 10% 상승한 가격입니다.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df['목표가'] = df['현재가'] * 1.1
df
데이터프레임에 LG전자의 데이터를 추가하세요.
data = [
["037730", "3R", 1510, 7.36],
["036360", "3SOFT", 1790, 1.65],
["005760", "ACTS", 1185, 1.28],
]
columns = ["종목코드", "종목명", "현재가", "등락률"]
df = pd.DataFrame(data=data, columns=columns)
df.set_index('종목코드', inplace=True)
df.loc["066570"] = ["LG전자", 60000, 3.84]
df
다음 코드를 통해 데이터프레임을 생성합니다.
df = pd.DataFrame(data = [[1, 2, 3], [4, 5, 6]], columns=["A", "B", "C"])
생성된 데이터프레임에서 columns 속성을 사용하여 컬럼명을 'a', 'b', 'c'로 변경하세요.
df = pd.DataFrame(data = [[1, 2, 3], [4, 5, 6]], columns=["A", "B", "C"])
df.rename(columns={"A": "a", "B": "b", "C": "c"}, inplace=True)
df
다음 데이터프레임의 index의 name 속성을 'year'로 columns의 name 속성을 'company'로 변경하세요.
import pandas as pd
import numpy as np
data = {"카카오": [np.nan, 221, 35], "NAVER": [52, 47, 3]}
index = [2019, 2020, 2021]
df = pd.DataFrame(data=data, index=index)
df.index.name = 'year'
df.columns.name = "company"
df
다음 데이터프레임에서 컬럼의 순서를['NAVER', '카카오']로 재정렬해보세요.
import pandas as pd
import numpy as np
data = {"카카오": [np.nan, 221, 35], "NAVER": [52, 47, 3]}
index = [2019, 2020, 2021]
df = pd.DataFrame(data=data, index=index)
df.reindex(columns=['NAVER', '카카오'])
데이터프레임에서 'NAVER' 컬럼을 삭제하세요.
import pandas as pd
import numpy as np
data = {"카카오": [np.nan, 221, 35], "NAVER": [52, 47, 3]}
index = [2019, 2020, 2021]
df = pd.DataFrame(data=data, index=index)
df.drop(columns='NAVER', inplace=True)
df
다음 데이터프레임에서 '카카오'와 'NAVER' 컬럼을 삭제하세요.
import pandas as pd
import numpy as np
data = {"카카오": [np.nan, 221, 35],
"NAVER": [52, 47, 3],
"삼성전자": [17, 21, 13]}
index = [2019, 2020, 2021]
df = pd.DataFrame(data=data, index=index)
df.drop(columns=['NAVER', '카카오'], inplace=True)
df
다음 데이터프레임의 'cd' 컬럼의 'A'를 제거하세요.
from pandas import DataFrame
import numpy as np
data = [
{"cd":"A060310", "nm":"3S", "close":"2,920"},
{"cd":"A095570", "nm":"AJ네트웍스", "close":"6,250"},
{"cd":"A006840", "nm":"AK홀딩스", "close":"29,700"},
{"cd":"A054620", "nm":"APS홀딩스", "close":"19,400"}
]
df = DataFrame(data=data)
df['cd'] = df['cd'].str[1:]
df
위 데이터프레임에서 'close' 컬럼의 콤마를 제거한 후 np.int64 타입으로 변경하세요.
from pandas import DataFrame
import numpy as np
data = [
{"cd":"A060310", "nm":"3S", "close":"2,920"},
{"cd":"A095570", "nm":"AJ네트웍스", "close":"6,250"},
{"cd":"A006840", "nm":"AK홀딩스", "close":"29,700"},
{"cd":"A054620", "nm":"APS홀딩스", "close":"19,400"}
]
df = DataFrame(data=data)
df['close'] = df['close'].str.replace(',', '').astype(np.int64)
df
다음 데이터프레임에서 np.nan 값이 있는 모든 행을 제거하세요.
data = [
[1, 2, 3],
[np.nan, 5, 6],
[7, np.nan, 9],
[10, 11, np.nan]
]
df = pd.DataFrame(data)
df = df.dropna().astype(np.int64)
df
다음 데이터프레임에서 col2 컬럼의 값에 NaN이 포함된 행만 제거하세요.
import pandas as pd
import numpy as np
data = [
[1, 1, np.nan],
[10, np.nan, 10],
[2, 3, 4]
]
columns = ['col0', 'col1', 'col2']
df = pd.DataFrame(data, columns=columns)
df = df.dropna(subset='col2')
df
다음 데이터프레임의 NaN 값을 0으로 채우세요.
import pandas as pd
import numpy as np
data = [
[1, 1, np.nan],
[10, np.nan, 10],
[2, 3, 4]
]
columns = ['col0', 'col1', 'col2']
df = pd.DataFrame(data, columns=columns)
df = df.fillna(0)
df
다음 데이터프레임에서 NaN 값을 동일 컬럼의 이전 값으로 채우세요.
import pandas as pd
import numpy as np
data = [
[1, 1, np.nan],
[10, np.nan, 10],
[2, 3, 4]
]
columns = ['col0', 'col1', 'col2']
df = pd.DataFrame(data, columns=columns)
df = df.fillna(method='ffill')
df
다음 데이터프레임에서 isna 메서드를 호출해보세요.
import pandas as pd
import numpy as np
data = [
[1, 1, np.nan],
[10, np.nan, 10],
[2, 3, 4]
]
columns = ['col0', 'col1', 'col2']
df = pd.DataFrame(data, columns=columns)
df = df.isna()
df
위 데이터프레임에 대해서 notna 메서드를 호출해보세요.
import pandas as pd
import numpy as np
data = [
[1, 1, np.nan],
[10, np.nan, 10],
[2, 3, 4]
]
columns = ['col0', 'col1', 'col2']
df = pd.DataFrame(data, columns=columns)
df = df.notna()
df
다음 데이터프레임에서 0을 100으로 변경하세요.
import pandas as pd
import numpy as np
data = np.arange(9).reshape(3, 3)
df = pd.DataFrame(data)
df = df.replace(0, 100)
df
다음 데이터프레임의 'fruit' 컬럼의 타입을 object에서 category로 변경하세요.
import pandas as pd
data = {
'fruit': ['apple', 'orange', 'orange', 'apple', 'apple', 'apple'],
'weight': [1.5, 1.3, 3.7, 2.4, 1.7, 1.8]
}
df['fruit'] = df['fruit'].astype('category')
df