다음 형식의 텍스트 파일에 데이터 세트가 있습니다.
5851F42D00000000,1
4BB5F64640B18CCF,2
742D2F7A0AE16FD9,1
76035E090D1F0796,1
6FA72CA540F7702C,3
.
.
.
파일에 500K
행이 있습니다. 내 목표는 파일을 읽고 16 진수 값을 바이너리로 변환하는 것입니다. 다음 코드는 잘 작동하지만 매우 느립니다. 더 빠르게 만드는 트릭이 있습니까?
import pandas as pd
import numpy as np
df = pd.read_csv(path+ 'dataset.txt', sep=",", header=None)
X = []
y = []
for i, row in df.iterrows():
n = int('{:064b}'.format(int(row.values[0], 16)))
X.append(n)
y.append(row.values[1])
X = np.asarray(X)
y = np.asarray(y)
중복 루프 및 목록에 추가 할 필요가 없습니다.
Pandas "마법"을 사용하십시오.
df = pd.read_csv('test.csv', sep=",", header=None)
x = df[0].apply(lambda x: int('{:064b}'.format(int(x, 16)))).to_numpy()
y = df[1].to_numpy()
print(x, y)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다