[ Python ] How to fast String to pandas data frame 연습
2019. 9. 4. 19:31ㆍ분석 Python/구현 및 자료
Original code
기존에는 1줄 처리하는데 0.1초
그리고 중간에 np.place 에서 문제가 있었음
그리고 타입변환은 현재 숫자로 되어있는것이 object로 되어있기때문에 그 부분만 바꿔주면 되는 문제였음
x = np.array(x.split(","))
np.place(x , x == '' , np.nan) ## warning
raw= pd.DataFrane(x.reshpae(1,-1) , columns = col ).astype(type_change)
Develop code
0.02초 !!! 5배 향상!!
def type_change(x) :
try :
x = float(x)
except :
x = x
return x
x2 =
[
( np.nan if re.match(r"\s" , i) is not None else np.nan if len(i) == 0 else type_change(x) for i in x.split(",")
)
]
raw = pd.DataFrame(x , columns = col)
## list comprehension 사용 안에는 if else 구조와 try except 사용
728x90
'분석 Python > 구현 및 자료' 카테고리의 다른 글
[ Python ] custom logging level 만들기 (0) | 2019.09.11 |
---|---|
[ Python ] imputation algorithm package 정리 (2) | 2019.09.10 |
[ Python ] logging 만들어보기 (FileHandler 와 StreamHandler 위주로) (0) | 2019.08.25 |
[ Python ] multiprocessing / concurrent.futures (0) | 2019.08.18 |
[ Python ] 사용한 package 모두 저장해서 다른 곳에서 그대로 사용하는방법 (0) | 2019.08.12 |