이론문제
data frame의 각 row를 series 라고 한다.
→ X
df.filter(regex='b$',axis=1) 위 코드를 통해 데이터 프레임(df)의 header 중 b로 시작하는 column만 필터링할 수 있다.
→ X
쉼표로 column을 구분하지 않고, 다른 delimeter를 사용한 txt파일을 pandas를 통해 불러올 때, txt와 같은 방식으로 출력된다.
→ O
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