ํ๊ฒฝ
๋ค์๊ณผ ๊ฐ์ด ๋ฌธ์์ด์ด ํฌํจ ๋ ํ์ผ์์ numpy.loadtxt
๋ฅผ ํธ์ถ ํ ๋ :
import numpy as np
datestxt = np.loadtxt("NYSE_dates.txt", dtype=str)
print(datetxt)
NYSE_dates.txt๋ ๋จ์ํ ๋ ์ง ๋ชฉ๋ก์ ๋๋ค (์ค์ ๋ก๋ ๋ฌด์์ด๋ ๊ฐ๋ฅ).
7/5/1962
7/6/1962
7/9/1962
...
12/29/2020
12/30/2020
12/31/2020
์ถ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
["b'7/5/1962'" "b'7/6/1962'" "b'7/9/1962'" ..., "b'12/29/2020'"
"b'12/30/2020'" "b'12/31/2020'"]
๋ณด์๋ค์ํผ ๋ชจ๋ ๋ฌธ์์ด์ ๋ฐ์ดํธ ์บ์คํ
๋ ๋ค์ conv
ํตํด ๋ฌธ์์ด ํ๋์์ต๋๋ค. conv
& compat.asbytes
๋น conv
str(str('12/31/2020').encode('latin1'))
์์ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. compat.asbytes
.
์ฝ๋๋ฅผ ์ดํด๋ณธ ํ ๋ชจ๋ ๋ฌธ์์ด์ด asbytes(...)
๊ฑฐ์ ์ ์ฒด์ ์ผ๋ก ๋ฐ์ดํธ ์บ์คํ
๋ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค. ์๋ฅผ ๋ค์ด split_line(...)
์์์ฒ๋ผ ์ด๋ ๋ชจ๋์ ๋ชจ๋ ๋ฃจํด์ด ์์๋์์์ ์๋ฏธํฉ๋๋ค.
๋๋ ๊ทธ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ๋งค์ฐ ์ฑ๊ฐ์ ์ผ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Python3์์๋ loadtxt๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์์ ํด๊ฒฐ์ฑ : loadtxt ๋ฉ์๋์์ ๋ชจ๋ asbytes () ํธ์ถ์ ์ ๊ฑฐํ์ต๋๋ค.
๋ค, ์ฝ๋๋ฅผ ํ์ด ๋ณด์์ ๋ ๋ญ๊ฐ ์์ ์ฉ ์๋ค๊ณ ์๊ฐํ๋ ๊ธฐ์ต์ด๋ฉ๋๋ค.
๊ธฐ๋ก์ ์ํด datetime64 ์
๋ ฅ๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ Error parsing datetime string "b'2013-01-02'"
ํ์์ ๊ตฌ๋ฌธ ๋ถ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ํด๋น ์ด์ ๋ํ ๋ณํ๊ธฐ๋ฅผ ๋ง๋ค์ด์ผํ์ต๋๋ค.
def decoder(input_bytes):
return input_bytes.decode("ascii")
ํ๋ก๋์ ์ฝ๋์์๋ ๊ด์ฐฎ์ง ๋ง ๊ต์ก ์๋ฃ์๋ ๋งค์ฐ ์์์ง ์์ต๋๋ค.
1.11๋ก ๋ฐ์ด ๋ถ์ ๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ-๋จผ์ ํ์ผ์์ iconv๋ฅผ ์คํํฉ๋๋ค.
1.12๋ก ๋ฐ์ด ๋ถ์ ๋๋ค.
๋๋ ์ด๊ฒ์ด ์ถ์ง๋๊ณ ์์์ ์์ง๋ง ๊ทธ๊ฒ์ ํด๊ฒฐํด์ผ ํ ๋ฒ๊ทธ์ด๋ฉฐ ์์ ์ด ์ฝ๊ฒ ๊ตฌํ๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
์ด๊ฒ์ด 5 ๋ ๋์ ๊ณ ์ณ์ง์ง ์์๋ค๋ ๊ฒ์ด ๊ฝค ์ถฉ๊ฒฉ์ ์ ๋๋ค.
NumPy 1.13.3์์ ์ํ๋๋๋ก ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค (์ด๋ค PR์ด ๊ทธ๊ฒ์ ๊ณ ์ณค๋์ง ํ์คํ์ง ์์ง๋ง). ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๊น?
>>> import io
>>> import numpy as np
>>> f = io.StringIO("7/5/1962\n7/6/1962\n")
>>> np.loadtxt(f, dtype=str)
array(['7/5/1962', '7/6/1962'],
dtype='<U8')
>>> np.__version__
'1.13.3'
# 8033์ ๋ํ ์๋ต์ผ๋ก # 8349์์ ์์ ๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํ์. ํ์ํ ๊ฒฝ์ฐ ๋ค์์ฌ์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๊ฒ์ด 5 ๋ ๋์ ๊ณ ์ณ์ง์ง ์์๋ค๋ ๊ฒ์ด ๊ฝค ์ถฉ๊ฒฉ์ ์ ๋๋ค.