Python 에서 데 이 터 를 불 러 오 는 5 가지 다른 방식(모음 집)
6827 단어 Python데이터 불 러 오기
초보 자로 서 p andas.read 를 사용 하 는 것 만 알 수 있 습 니 다.csv 함수 가 데 이 터 를 읽 는 방식(보통 CSV 형식).그것 은 가장 성숙 하고 기능 이 가장 강 한 기능 중의 하나 이지 만,다른 방법 은 매우 도움 이 되 고,때로는 틀림없이 쓸모 가 있 을 것 이다.
내 가 토론 하고 자 하 는 방법 은:
수 동 함수loadtxt 함수
genfromtxtf 함수
Imports
Numpy,Pandas,Pickle 패 키 지 를 사용 하여 가 져 옵 니 다.
1. Manual Function
이것 은 가장 어 려 운 것 입 니 다.사용자 정의 함 수 를 설계 해 야 하기 때문에 이 함 수 는 데 이 터 를 불 러 올 수 있 습 니 다.Python 의 일반적인 압축 파일 개념 을 처리 하고 이 를 사용 하여.csv 파일 을 읽 어야 합 니 다.
100 개의 판매 기록 파일 에서 이 작업 을 수행 합 시다.
응?이게 뭐야???좀 복잡 한 코드 인 것 같 아!!현재 발생 하고 있 는 일 을 알 수 있 도록 점차적으로 깨 뜨리 고 유사 한 논 리 를 사용 하여 자신의.csv 파일 을 읽 을 수 있 습 니 다.
여기 서 로드 를 만 들 었 습 니 다.csv 함수,이 함 수 는 읽 을 파일 의 경 로 를 매개 변수 로 합 니 다.
data 라 는 목록 이 있 습 니 다.CSV 파일 데 이 터 를 가지 고 있 고 다른 목록 col 은 제 열 이름 을 가지 고 있 습 니 다.현재 csv 를 수 동 으로 검사 한 후에 나 는 열 이름 이 첫 번 째 줄 에 있다 는 것 을 알 고 있 기 때문에 나의 첫 번 째 교체 에서 나 는 첫 번 째 줄 의 데 이 터 를 col 에 저장 하고 나머지 줄 을 data 에 저장 해 야 한다.
첫 번 째 교 체 를 검사 하기 위해 서 저 는 checkcol 이라는 불 변 수 를 사 용 했 습 니 다.이것 은 False 이 고 첫 번 째 교체 에서 false 일 때 첫 번 째 줄 의 데 이 터 를 col 에 저장 한 다음 에 checkcol 을 True 로 설정 하 였 습 니 다.그래서 저 희 는 데이터 목록 을 처리 하고 나머지 값 을 데이터 목록 에 저장 할 것 입 니 다.
논리학
여기 서 주요 논 리 는 내 가 readlines()Python 의 함 수 를 사용 하여 파일 에서 교체 했다 는 것 이다.이 함 수 는 파일 의 모든 줄 을 포함 하 는 목록 을 되 돌려 줍 니 다.
제목 을 읽 을 때 새 줄 을\n 문자,즉 줄 종료 문자 로 감지 하기 때문에 삭제 하기 위해 str.replace 함 수 를 사 용 했 습 니 다.
이것 은.csv 파일 이기 때문에 다른 것 에 따라 쉼표 를 붙 여야 합 니 다.그래서 문자열 을 하나씩 가지 고 string.split(")을 사용 하 겠 습 니 다.첫 번 째 교체 에 대해 나 는 첫 번 째 줄 을 저장 할 것 이다.그 중에서 열 이름 을 포함 하 는 목록 을 col 이 라 고 부른다.그리고 모든 데 이 터 를 data 라 는 목록 에 추가 하 겠 습 니 다.
데 이 터 를 더 예 쁘 게 읽 기 위해 서,나 는 그것 을 데이터 상자 형식 으로 되 돌려 주 었 다.왜냐하면 numpy 배열 이나 python 의 목록 보다 데이터 상 자 를 읽 는 것 이 더 쉽 기 때문이다.
수출 량
이 로 움 과 폐단
중요 한 장점 은 파일 구조의 모든 유연성 과 통제 권 을 가지 고 원 하 는 형식 과 방식 으로 읽 고 저장 할 수 있다 는 것 입 니 다.
표준 구조 가 없 는 파일 을 자신의 논리 로 읽 을 수 있 습 니 다.
특히 표준 형식의 파일 은 읽 기 쉽 기 때문에 복잡 하 다 는 것 이 중요 한 단점 이다.반복 적 인 시험 이 필요 한 논리 에 대해 하 드 인 코딩 을 해 야 합 니 다.
파일 이 표준 형식 이 아니 거나 유연성 이 있 고 라 이브 러 리 에서 제공 할 수 없 는 방식 으로 파일 을 읽 으 려 면 사용 해 야 합 니 다.
2.Numpy.loadtxt 함수
이것 은 Python 의 유명한 디지털 라 이브 러 리 Numpy 에 내 장 된 함수 입 니 다.데 이 터 를 불 러 오 는 것 은 매우 간단 한 기능 이다.이것 은 같은 데이터 형식의 데 이 터 를 읽 는 데 매우 유용 하 다.
데이터 가 더 복잡 할 때 이 기능 을 사용 하면 읽 기 어렵 지만 파일 이 간단 할 때 이 기능 은 정말 강하 다.
단일 형식의 데 이 터 를 가 져 오 려 면 가상 데이터 세트 를 다운로드 할 수 있 습 니 다.코드 로 넘 어 갑시다.
여기 서 우 리 는','로 들 어 오 는 loadtxt 함 수 를 간단하게 사 용 했 습 니 다.이것 은 CSV 파일 이기 때 문 입 니 다.
지금 만약 우리 가 df 를 인쇄 한다 면,우 리 는 사용 할 수 있 는 아주 좋 은 numpy 배열 의 데 이 터 를 볼 수 있 을 것 이다.
데이터 의 양 이 매우 많 기 때문에 우 리 는 앞의 5 줄 만 인쇄 했다.
이 로 움 과 폐단
이 기능 을 사용 하 는 중요 한 점 은 파일 의 데 이 터 를 numpy 배열 에 빠르게 불 러 올 수 있다 는 것 입 니 다.
단점 은 다른 데이터 형식 이나 데이터 에 줄 이 없어 서 는 안 된다 는 것 입 니 다.
3. Numpy.genfromtxt()
저 희 는 데이터 세트,즉 첫 번 째 예제 에서 사용 하 는 데이터 세트 인'100 Sales Records.csv'를 사용 하여 여러 가지 데이터 형식 을 포함 할 수 있 음 을 증명 할 것 입 니 다.
코드 로 넘 어 갑시다.
그것 을 더욱 분명하게 보기 위해 서,우 리 는 데이터 상자 형식 으로 그것 을 볼 수 있다.즉,
이것 은 무엇 입 니까?오,문자열 데이터 형식 이 있 는 모든 열 을 건 너 뛰 었 습 니 다.어떻게 할 까요?
다른 dtype 인 자 를 추가 하고 dtype 을 None 으로 설정 하면 됩 니 다.이것 은 모든 열 자체 의 데이터 형식 을 고려 해 야 한 다 는 것 을 의미 합 니 다.전체 데 이 터 를 하나의 dtype 으로 변환 하지 않 습 니 다.
그리고 출력
첫 번 째 것 보다 훨씬 좋 습 니 다.그러나 여기 있 는'열'제목 은'줄'입 니 다.열 제목 으로 만 들 려 면 다른 매개 변수,즉 이름 을 추가 하고 트 루 로 설정 해 야 합 니 다.그러면 첫 번 째 줄 을'열 제목'으로 해 야 합 니 다.
즉시
df3 = np.genfromtxt('100 Sales Records.csv', delimiter=',', dtype=None, names=True, encoding='utf-8')
우 리 는 그것 을 인쇄 할 수 있다.4. Pandas.read_csv()
Pandas 는 매우 유행 하 는 데이터 조작 라 이브 러 리 로 매우 자주 사용 된다.read_csv()는 매우 중요 하고 성숙 한 기능 중 하나 로 모든.csv 파일 을 쉽게 읽 고 조작 할 수 있 습 니 다.100 개의 판매 기록 데이터 세트 에서 조작 합 시다.
이 기능 은 사용 하기 쉬 워 서 매우 환영 을 받는다.당신 은 그것 을 우리 의 이전 코드 와 비교 한 후에 검 사 를 진행 할 수 있 습 니 다.
네가 알 아 맞 히 면 어 때?우 린 끝났어.이것 은 실제로 이렇게 간단 하고 사용 하기 쉽다.Pandas.read_csv 는 우리 의 데이터 세트 를 조정 하기 위해 많은 다른 매개 변 수 를 제공 할 것 입 니 다.예 를 들 어 convertcsv.csv 파일 에 열 이름 이 없 기 때문에 우 리 는 그것 을 읽 을 수 있 습 니 다.
제목 이 없 는 csv 파일 을 읽 은 것 을 볼 수 있 습 니 다.공식 문서 의 모든 다른 인 자 를 볼 수 있 습 니 다.
5. Pickle
데이터 가 인간 이 이해 할 수 있 는 좋 은 형식 이 아니라면 pickle 을 사용 하여 바 이 너 리 형식 으로 저장 할 수 있 습 니 다.그리고 pickle 라 이브 러 리 를 사용 하여 쉽게 다시 불 러 올 수 있 습 니 다.
판매 기록 100 개의 CSV 파일 을 가 져 올 것 이 며,먼저 그것 을 읽 을 수 있 도록 pickle 형식 으로 저장 할 것 입 니 다.
Pandas 제목 의 pdDf 를 포함 하 는 새 파일 test.pkl 을 만 듭 니 다.
지금 pickle 을 사용 하여 열 면 pickle.load 함수 만 사용 할 수 있 습 니 다.
여기에서,우 리 는 pandas.Data Frame 형식의 pickle 파일 에서 데 이 터 를 성공 적 으로 불 러 왔 습 니 다.
파 이 썬 이 데 이 터 를 불 러 오 는 5 가지 다른 방식(모음 집)에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 이 데 이 터 를 불 러 오 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.