import seaborn as sns
titanic = sns.load_dataset('titanic')
df= titanic.loc[0:4,'survived':'age']
print(df,'\n')
survived pclass sex age 0 0 3 male 22.0 1 1 1 female 38.0 2 1 3 female 26.0 3 1 1 female 35.0 4 0 3 male 35.0
columns = list(df.columns.values)
print(columns,'\n')
['survived', 'pclass', 'sex', 'age']
sorted() 함수에 columns 변수를 입력하면 열 이름이 알파벳 순으로 정렬된다.
columns_sorted = sorted(columns)
df_sorted = df[columns_sorted]
print(df_sorted,'\n')
age pclass sex survived 0 22.0 3 male 0 1 38.0 1 female 1 2 26.0 3 female 1 3 35.0 1 female 1 4 35.0 3 male 0
reversed() 함수에 columns 변수를 전달하면 기존 순서의 정반대 역순으로 정렬된다.
age sex pclass survived 0 22.0 male 3 0 1 38.0 female 1 1 2 26.0 female 3 1 3 35.0 female 1 1 4 35.0 male 3 0
sort나 reverse를 하지않고 사용자 임의의 순서로 재배치 할 수도 있다.
columns_customed = ['pclass','age','sex','survived']
df_customed = df[columns_customed]
import pandas as pd
df = pd.read_excel(r'data_analysis\sample\part6\주가데이터.xlsx',engine='openpyxl')
print(df.head())
print(df.dtypes,'\n')
df['연월일']=df['연월일'].astype('str')
dates = df['연월일'].str.split('-')
print(dates.head())
연월일 당일종가 전일종가 시가 고가 저가 거래량 0 2018-07-02 10100 600 10850 10900 10000 137977 1 2018-06-29 10700 300 10550 10900 9990 170253 2 2018-06-28 10400 500 10900 10950 10150 155769 3 2018-06-27 10900 100 10800 11050 10500 133548 4 2018-06-26 10800 350 10900 11000 10700 63039
연월일 datetime64[ns] 당일종가 int64 전일종가 int64 시가 int64 고가 int64 저가 int64 거래량 int64 dtype: object
0 [2018, 07, 02] 1 [2018, 06, 29] 2 [2018, 06, 28] 3 [2018, 06, 27] 4 [2018, 06, 26]
시리즈의 문자열 리스트 인덱싱 : Series 객체.str.get(인덱스)
df['연'] = dates.str.get(0)
df['월'] = dates.str.get(1)
df['일'] = dates.str.get(2)
df.drop('연월일',axis=1,inplace=True)
print(df.head())
당일종가 전일종가 시가 고가 저가 거래량 연 월 일 0 10100 600 10850 10900 10000 137977 2018 07 02 1 10700 300 10550 10900 9990 170253 2018 06 29 2 10400 500 10900 10950 10150 155769 2018 06 28 3 10900 100 10800 11050 10500 133548 2018 06 27 4 10800 350 10900 11000 10700 63039 2018 06 26