728x90
데이터셋 업로드, 불러오기
업로드
from google.colab import files
files.upload()
Data frame불러오기
df = pd.read_csv('데이터.csv')
url 불러오기
URL = "https://~~~~ csv"
df = pd.read_csv(URL)
엑셀시트불러오기
df1 = pd.read_excel(data_url, sheet_name='sheet1')
df2 = pd.read_excel(data_url, sheet_name='sheet2')
데이터프레임 확인
Missing value 확인
df.isnull().sum()
Missing value 0으로 처리
df.fillna(0, inplace=True)
해당 열의 중복되는 데이터 확인
df[df.duplicated(['Column'])]
중복되는 데이터 삭제
df = df.drop_duplicates()
dimension확인
df.shape
개수 체크
df[(df.column1 == "ABC") & (df.column2 == "DEF")].shape
데이터정보(타입)확인
df.info()
데이터타입 확인
df.dtypes
통계치 확인
df.describe()
데이터타입 변경
df = df.astype({'컬럼1':'int'})
빈도확인
pd.crosstab(df['컬럼1'], df['컬럼2'])
728x90
데이터프레임 추가삭제
원하는 컬럼만 보기
df = df[['컬럼1', '컬럼2', '컬럼3']]
원하는 값을 가진 데이터만 보기
df[(df.column1 == "ABC") & (df.column2 == "DEF")]
원하는 컬럼 제외해서 보기
df = df['컬럼1'][~df['컬럼2'].isin(['데이터값1', '데이터값2', '데이터값3'])]
특정 인덱스의 데이터 확인
df.loc[1:2] # index가 1~2인 데이터 확인
행 삭제
df = df.drop(index=0, axis=0)
Feature데이터 열 추가
df["추가컬럼"] = ((df['컬럼1']) - (df['컬럼2'] + (df['컬럼3'])/100))*100
데이터변경
행,열 transpose
df1 = df1.T
column 이름 변경
df.rename(columns = {'전컬럼이름':'바뀐컬럼이름'})
시각화
Boxplot 그리기
green_diamond = dict(markerfacecolor='g', marker='D')
plt.boxplot(df['컬럼1'], flierprops=green_diamond)
plt.title("box plot")
plt.show()
sns.boxplot(data=df, x='컬럼1', y='컬럼2', palette=['lightgrey', 'skyblue'])
plt.show();
Histogram 그리기
sns.displot(df['history'], bins=50)
plt.axis([1000, 3500, 0, 200]) # [x축 시작, x축 끝, y축 시작, y축 끝]
plt.show();
plt.hist(data=df, x='Age')
plt.show();
Bar plot그리기
df.plot.bar(color=['g', 'purple'], rot=0);
sns.countplot(data=df, x='Pclass', color='green')
plt.show();
Pie plot 그리기
ratio = df['컬럼1'].value_counts(normalize=True) # normalize는 비율을 나타내 주는 파라미터
plt.pie(ratio, labels=[0,1], autopct='%.0f%%', explode=[0, 0.05], colors=['lightgrey', 'skyblue'])
plt.title('컬럼1');
Violin plot 그리기
sns.violinplot(data=df, x='컬럼1', y='컬럼2', palette=['lightgrey', 'skyblue'])
plt.show();
Count plot 그리기
sns.countplot(x='컬럼1', data=df)
plt.show()
300x250