이론문제

  1. data frame의 각 row를 series 라고 한다.

    → X

  2. df.filter(regex='b$',axis=1) 위 코드를 통해 데이터 프레임(df)의 header 중 b로 시작하는 column만 필터링할 수 있다.

    → X

  3. 쉼표로 column을 구분하지 않고, 다른 delimeter를 사용한 txt파일을 pandas를 통해 불러올 때, txt와 같은 방식으로 출력된다.

    → O

  4. student_dict_list=[{'이름':'Jake','국어':99,'수학':88,'영어':77},{'이름':'Jay','국어':95,'수학':34,'영어':66}]에서= drop함수를 이용해 jake에 해당하는 정보들을 지우고, inplace라는 명령어를 사용하면, 따로 정의할 필요 없이 바로 데이터 프레임에 적용된다.

    → O

    실습문제

    #1
    import pandas as pd
    
    student_dict_list = [
        {'이름': 'Jake', '키': 175, '성적': 'A'},
        {'이름': 'Jay', '키': 183, '성적': 'B'}
    ]
    
    df = pd.DataFrame(student_dict_list)
    
    def add_cm(height):
        return f"{height} cm"
    
    df['키'] = df['키'].apply(add_cm)
    
    
    #2
    import pandas as pd
    
    students = [
        { "name": "johanson", "age": 23, "grade": "B"},
        { "name": "kelvin", "age": 21, "grade": "A"},
        { "name": "smith", "age": 22, "grade": "F"},
        { "name": "Jin", "age": 20, "grade": "A"},
        { "name": "Chalie", "age": 22, "grade": "C"},
        { "name": "Jackson", "age": 21, "grade": "B"},
        { "name": "Michelle", "age": 21, "grade": "A"},
        { "name": "Lisa", "age": 24, "grade": "F"}
    ]
    df = pd.DataFrame(students)
    
    grouped = df.groupby('grade')
    
    for grade, group in grouped:
        print(f"{grade} : {len(group)}") 
        print(group, "\\n") 
    
    #3
    import pandas as pd
    data = [
        ['Apple', 3, 3000],
        ['Banana', 2, 1500],
        ['Cherry', 10, 7000]
    ]
    
    col = ['Fruit', 'Amount', 'Price']
    
    DataFrame = pd.DataFrame(data, columns = col)
    DataFrame
    
    #4
    import pandas as pd
    
    df1 = pd.read_csv("pl_records.txt", delimiter='  ', engine='python')
    df2 = pd.read_csv("laliga_records.txt", delimiter='  ', engine='python')
    
    df_concat=pd.concat([df1,df2],ignore_index=True)
    
    df_concat.to_csv("records.csv",index=False)
    df_concat
    
    df_concat['Attack_Pts']=df_concat['Goals']+df_concat['Assists']
    df_concat['Ratig']=np.where(df_concat['Attack_Pts']>=9,'Incredible',np.where(df_concat['Attack_Pts']>=6,'Great','Good'))
    
    df_concat.to_csv("4주차_실습_4조.csv",index=False)
    df_concat