pandas 사용하기
파일의 형태를 확인해 각각에 맞는 읽기방법을 사용하면 됩니다.
데이터프레임의 상위 5번째 행까지 확인
데이터프레임 명. head()
데이터프레임의 하위 5번째 행까지 확인
데이터프레임 명. tail()
데이터프레임 간략 정보 확인
데이터프레임 명. info()
자료 인덱스, 크기, 데이터 타입, 변수명
데이터프레임 명.describe()
*주의 : 여기서 object는 str타입을 말함
기본적으로 열의 갯수가 같아야하며, key는 문자열이 일반적임
data = {
"name" : ["홍길동","임꺽정","이순신"],
"algol" : ["A","A+","B"],
"basic" : ["C","B,"B+"],
"python" : ["B+","C","C+"]}
my_df = pandas.aDataFrame(data) #DB의 형태로 변환
lst = [[15, "남자", "덕영중"],
[17,"여자","수리중"]]
lst_df = pandas.DataFrame(lst, columns = ["나이","성별","학교"])
여러 개의 컬럼의 평균 구하기
데이터명[["컬럼명1","컬럼명2"]].mean()
반올림
데이터명.round()
분위수
데이터명[["컬럼명1","컬럼명2"]].quantile(0.25)
데이터명[["컬럼명1","컬럼명2"]].quantile(0.75)
표준 오차
: 표본 평균이 모집단 평균을 얼마나 잘 추정하는지 보여주는 척도, 표본의 표준편차를 표본 크기의 제곱근으로 나눈 값
데이터명[["컬럼명1","컬럼명2"]].sem()
correlation
데이터명[["컬럼명","컬럼명"]].corr()
scatter(s : 산점의 사이즈)
그래프 제목
plt.title("제목명")
x축 이름
plt.xlabel("x축명")
y축 이름
plt.ylabel("y축명")
그래프 보기
plt.show()
*inplace : 기존 df를 수정하겠다는 의미, False라면 기본의 값을 반환함
파이썬에서는 None, Pandas에서는 NaN으로 표기
인덱스가 0인 행에 "성별"이라는 열의 값을 NaN으로 설정
df.loc[0, "성별"] = np.nan
인덱스가 1인 행에 "수학", "영어"라는 열의 값을 None으로 설정
df.loc[1, "수학","영어"] = None
결측값이 있는 행을 삭제
df.dropna(axis = 0)
결측값이 있는 열을 삭제
df.dropna(axis = 1)
컬럼으로 열 선택하기
df["컬럼명"]
df["컬럼명","컬럼명2"]
인덱스로 행 선택하기
df[0:2]
위의 데이터로 보여주자면
df.loc["서준"]
df.loc[["서준","인아"]]
새로운 열 추가 : 맨끝에 추가됨
df 내 없는 열을 지정해줌
df["추가할 컬럼명"] = [추가할 값,...]
새로운 열 중간에 추가
df.insert(원하는 인덱스 위치, "추가할 컬럼명",[추가할 값,..])
새로운 행 추가
df.loc[원하는 인덱스] = [추가할 값,...]
df = pd.DataFrame({
'Date': pd.date_range(start='2023-01-01', periods=5),
'Product': ['A', 'B', 'C', 'A', 'B'],
'Price': [100, 200, 150, 120, 220],
'Quantity': [10, 15, 8, 12, 18]
})
df_single_index = df.set_index('Date', inplace = True)
print("1. 'Date' 열을 인덱스로 설정:")
print(df_single_index)
print("\n")
df.loc[('2023-01-01', 'A'), 'Price'] = 150
print("'2023-01-01'의 'A' 제품 가격 변경 후:")
print(df)
sprint('\n')
df.loc[('2023-01-02', 'B'), ['Price', 'Quantity']] = 250, 20
print("'2023-01-02'의 'B' 제품 가격과 수량 변경 후:")
print(df)
print('\n')
df.loc[('2023-01-03', 'C'), ['Price', 'Quantity']] = [180, 10]
print("'2023-01-03'의 'C' 제품 가격과 수량을 리스트로 변경 후:")
print(df)
set_index 진행 후 다시 원래의 인덱스 값으로 돌아가는 방법
df.reset_index()