728x90
판다스는 다양한 형태의 외부 파일을 읽어와서 데이터프레임으로 변환하는 함수를 제공한다.
그 중에서 엑셀 파일 중심으로 읽어오는 것을 목표로 한다.
.read_xxx() 함수에 여러 옵션을 추가 할 수 있다.
dtype='unicode'
기본
import pandas as pd
df = pd.read_excel('data/danawa_data.xlsx')
df.head()
가격에 콤마 없애기
import pandas as pd
df = pd.read_excel('data/danawa_data.xlsx',thousands = ',')
df.head()
https://rfriend.tistory.com/463
header = 1
- 1행을 열 이름 으로 지정
df = pd.read_excel('data/danawa_data.xlsx',header=1)
df.head()
header = None
- 행을 열 이름으로 지정하지 않음
df = pd.read_excel('data/danawa_data.xlsx',header=None)
df.head()
index_col = '속성명'
- 인덱스 지정
df = pd.read_excel('data/danawa_data.xlsx',index_col='카테고리')
df.head()
skiprows = [...]
- 처음 몇 줄을 스킵할 것인지 설정
ex) [1,2,3]
df = pd.read_excel('data/danawa_data.xlsx',header=None,skiprows=[0])
df.head()
read_csv()
df2=pd.read_csv('data/auto-mpg.csv')
df2.tail()
여러데이터 읽기
apt_files = glob('data/서울_연립다세대_매매/연립*.csv')
tmp_raw=[]
for file_name in apt_files:
tmp = pd.read_csv(file_name, header=15,encoding='cp949',thousands=',')
tmp_raw.append(tmp)
df = pd.concat(tmp_raw)
df.info()
import pandas as pd
import numpy as np
import os
forders = os.listdir('../data/상권배후지추정매출')
df_all_years = pd.DataFrame()
for i in range(0,len(forders)):
path = '../data/상권배후지추정매출/'+forders[i]
df= pd.read_csv(path,encoding='cp949',thousands = ',')
df_all_years = pd.concat([df_all_years, df])
df_all_years.head()
위 사진처럼 캐글의 데이터프레임 포맷에 맞추어 submission.csv 을 생성하려고 한다.
타이타닉 데이터로 LogisticRegression을 통해 생성된 Survived 컬럼을 가진 y_pred와 PassengerId 을 id 하여 제출해야 한다고 가정
import pandas as pd
import numpy as np
path = 'data/titanic.csv'
titanic = pd.read_csv(path, index_col='PassengerId')
titanic.head()
# ...
feature_cols = ['Pclass', 'Parch']
X = titanic[feature_cols]
y = titanic.Survived
#...
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=123)
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression(C=1000)
logreg.fit(X_train, y_train)
print(list(zip(feature_cols, logreg.coef_[0])))
# class predictions (not predicted probabilities)
y_pred_class = logreg.predict(X_test)
t_df = X_test.reset_index()
pid = t_df['PassengerId']
pid
<결과>
0 1
1 2
2 3
3 4
4 5
...
218 219
219 220
220 221
221 222
222 223
Name: PassengerId, Length: 223, dtype: int64
y_pred_=pd.Series(y_pred_class)
y_pred_
<결과>
0 0
1 0
2 1
3 1
4 0
..
218 0
219 0
220 0
221 1
222 0
Length: 223, dtype: int64
sub = pd.DataFrame(data = {'id':pid, 'Survived':y_pred_})
sub
<결과>
id Survived
0 1 0
1 2 0
2 3 1
3 4 1
4 5 0
... ... ...
218 219 0
219 220 0
220 221 0
221 222 1
222 223 0
sub.to_csv('submission.csv',index=False)
'Language > 파이썬' 카테고리의 다른 글
파이썬 '판다스 데이터 분석' - 복사 , DataFrame.copy() (0) | 2021.07.11 |
---|---|
파이썬 '판다스 데이터 분석' - 데이터프레임 구조(shape, info(),describe(),value_counts()..), 통계함수(mean(), median(), min(), max(), std(), corr()) (0) | 2021.07.08 |
파이썬 '판다스 데이터 분석' - 판다스 입문 (0) | 2021.07.02 |
파이썬을 이용한 OpenCV (0) | 2021.01.31 |
파이썬 크롤링, 스크롤링 / python crawling (0) | 2020.07.14 |
댓글