팬더 데이터 분석 빠른 시작

1.1 팬더 모듈 소개

첫째, 해당 작업을 사용하기 전에 모듈 팬더는 수입 팬더 필요

PD 팬더 AS 가져 
오기 NumPy와 AS # NP NumPy와 모듈 임포트 팬더

두 공통의 데이터 구조를 갖는 1 판다
. (1) 시리즈
, 1 차원 배열 또는리스트 (열 벡터) 및 데이터 타입의 다양한 종류를 저장할 수있는 배열 NumPy와 유사한 비교를 말한다
(2) DataFrame을
이차원 데이터 구조 유형 및 엑셀 스프레드 시트가 용기의 시리즈로서 이해 될 수 등과 같은 비교.

1.2 팬더 적용되는 직렬 입력
정의 일련 1 :
S = pd.Series ([1,2,3, np.nan, 2,3,1, ..., 인덱스 = "A", "B", "C",
상기 속성의 소정의 인덱스 번호의 각각의 행
(2), 태그의 행 에센스리스트를 참조 인덱스 계열 인덱스 수도 세리 쿼리 출력있는 .index;

의 관련 동작 백과 1.3 DataFrame 이차원리스트
DataFrame 구성된 이차원 방식의 (a)리스트
주로 두 가지 방법 중에서 DataFrame 데이터 이차원 목록 1 : 수신 이차원 배열 정의 방법 및 사전을 사용하는 ,
방법 A를 = pd.DataFrame DF 수신 방법 (np.random.randn (6,4)의 2 차원 어레이
번째 방법 : DF = pd.DataFrame ({ "는, "B": "수신 방식 사전
(2) 각 이차원리스트의 속성 이름 정의 주로 각 행 인덱스 (각 행에 이름)과 열 (열 명칭)에서 사용된다 :
DF = pd.DataFrame (np.random.randn (6,4), PD 인덱스 = .date_range ( "20180701"기간 =. 6, FREQ = "M") 칼럼 = 목록 ( "ABCD")])
. 3 DateFrame 사전 모드에서 수신되는 데이터 딕셔너리 키의리스트 인 열 지칭 이름, 즉, 각 열의 값 추가 값의 열 여섯 가지 방법을 따르고 , 배열을 전달할 수
DF = pd.DataFrame ({ "A"1.0 "B"np.array ([ (3)] * 4 = DTYPE INT
(B) 이차원 질의 데이터 DataFrame 어레이
(1)의 머리와 꼬리 데이터 쿼리 함수 .head 전 또는 조회 후 (x)와 .tail (x)는, X 행 데이터,
2, 도면 데이터 형식의 데이터 테이블의 각 열 수 df.dtypes 데이터 유형을 사용하여 볼;

데이터 및 데이터 조작을 읽고 1.4pandas
. 1, 팬더 테이블 데이터 방법 함수 pd.read_excle (라우팅 테이블) 및 pd.read_csv (라우팅 테이블)을 사용하는 것이다 온다 판독
예를 들어,
"DF = pd.read_excel ( D는 : / Byrbt2018 / 스터디 / 파이썬 데이터 분석 과정 + 연습 + 설명 / 파이썬 데이터 분석 과정 + 연습 / 작업 / # 테이블 작업을 읽기 / 홍콩 호텔 데이터 .xlsx '에 ") 작업 3/3 작업은 주로 설명 의존 + pd.read_excel / CSV 파일 경로 기능 +
테이블 데이터 추출 라인 (2), 특정 열 방법 :
(1) 이름 속성 방법 :
df.loc [OK 특성 A : B 속성 행, 열 특성 : 컬럼 성질]
(2) 상기 모드 테이블의 주제 :
열 번호] df.iloc [광고 ID : 행 번호, 열 번호
를 직접 배열로서 (3) :
DF [1 열 개 특성, 속성 컬럼 2, 컬럼 3 곳 ...]] 행 번호 : 행 번호]
(4) 표준 형식 :
df.loc [인덱스 ,, ...] 상기 [열 ,, ...]] # 선행 컬럼
3, 표 행 추가 및 대체
(1) 라인을 추가 :
테이블의 사용 후, 다음, 사전 정의의이 라인 (테이블의 각 컬럼에 대한 키 속성의 사전) 먼저 좋은 새로운 데이터를 한 차원 목록의 일련의 변환 부가 기능 df.append (들)은 또한 새로 추가 된 라인의 행 s.name 속성 이름을 정의 할 수 있고,이 데이터 선에 추가 될
S = {0 : "간구 현", 4 : "은 Tianshui 호텔", 1 "오락", 2 "는 Tianshui"3 "중관촌 거리", 5 : 4.5,6 : 11000,7 : # 345} 데이터의 행은 새로운 라인의 사전 정의의 동작에 의해 수행된다 정의합니다
S1 = pd.Series 일차원리스트로서 (S) # 변환 사전
s1.name = 420 # 라인 속성 정의 목록
1 개 라인 (2) 삭제 :
직접적인 모듈 호출 팬더 삭제 기능 df.drop ([행 번호]) 기능이 요구되는 컷에 대응하는 데이터의 행을 절단한다.
4 열 관련 동작
증가 (1) 컬럼 :
정의 열을 추가하면 직접 늘릴 수
DF는 [ "숫자"= 폭 (1 렌 (DF) +1) #는 이것이 새로운 열 번호를 추가
열 (2) 삭제 :
축 = 1 설정해야 상기 삭제 열 [축 = 1 '항목 속성 이름 "] df.drop하여 동작시키기 일 수있다, 그 열 대신 행을 삭제하는 것을 없음 쓰거나 배치 축 = 0 축없는 경우, 즉, 절단 행 나타낸다
df.drop [ "열 속성 명"= 1 축.]
(5) 상기 조작 조건에 관한 데이터가 선택을 :.
기본 데이터 선택 상태가 될 수 관하여 다음과 같이 (선택 기준)]를 사용 DF 예 동안 진행 :
인쇄 (DF [DF 점수> 4.5.]) 4.5 # 데이터리스트 요금은 선택
인쇄 (DF를 [(가격> 4.5) (DF DF .. 입력 == "로맨틱 커플")]) #은 높은 점수를 4 이상 선택합니다.

# 홍콩의 종류 또는 1,000 명 이상의 사람들의 일상 번호를 선택, 높은 4.5 데이터 목록 이상의 점수를
연산 처리 값과 이상 값 데이터 누락 6 :
(1) 주로 다음과 같은 네 가지 조치를 포함 누락 된 값 다루는 :
ISNULL을 ( 부울 데이터 형식을 반환 누락 값)의 여부를 판정
NOTNULL ) (ISNULL 반대가 누락되지 값을 결정
fillna를 ) 누락 값을 채우기 (
dropna (해당 컷 필터 측값)
(2) 삭제 규칙 값 처리 :
데이터 # 1 특이점 처리 및 누락 값
의 값을 삭제 누락 ()의 세 가지 주요 변수가 존재 dropna을 모든 (모든 행과 열을 삭제) = 방법 인플레 이스 = 진짜야 (실시간 삭제 테이블 갱신) 축 = 0 또는 1 (삭제 프로세스는 열 또는 행)이다
) 인쇄 (df.isnull ()
인쇄 (DF [DF [ "평가"] .isnull ()가 결정된다), 및 누락 값 # 출력
누락 값을 채우는 #
인쇄 (DF [DF [ "숫자 평가"] .isnull ()]) # 값이 제들이인지 불량품 판정
DF [ "번호 ["숫자 평가 "] .fillna (np.mean (평가 DF "), 인플레 이스 트루) = #의 값 = 1 개 인플레 이스 실시간 업데이트 누락 기입을
전단 (DF)
감정인 인쇄 ((DF [DF를 [렌" 번호 "] .isnull ()]))
인쇄 (렌 (DF))
(LEN (df.dropna ())) 인쇄
df.dropna (인플레 이스 = 참)
인쇄 (렌 (DF))

특이 프로세스 #
특이점은 일반적으로 주로 데이터 및 속성 내부 테이블은 다음 판정 처리 및 갱신 데이터의 결합, 속성 (예 소수점 마이너스의 존재에 대한 다수의 속성에 대한 열 데이터)와 일치하지 않는 나열되어 있는지 여부를 확인
인쇄 (렌 (DF [DF [ "일수"] % 1! = 0])) 특이점을 결정하고 프로세싱 #
DF = DF [(DF [ "일수"] % 1 == 0)'일일 수 "]> 0)] #는 특이점의 조건에 따라 실시간으로 업데이트
출력 (DF)

코드를 실행하는 전체 항목 아래 그림 ( 당신이 이해하기 시작 당신은 쉽게, 자세한 코드 주석을 포함하고, 실행할 직접 수 복사 얻을 수 있습니다 )

PD는 AS 오기 팬더 
팬더 NumPy와 모듈 가져 오기 NumPy와 AS # NP를

일차원리스트 # 계열 연산
S = pd.Series ([1,2,3,4, np.nan , 2,3,4,6,7])
(S) 인쇄
시리즈 태그 인쇄 (s.index) # 라인 출력 (특성)
인쇄 (s.values) # 시리즈 출력값
(S [9 : 2 인쇄 2]) #는 대응하는 값을 출력 인터레이스 (슬라이스 동작)
s.index.name = 애트리뷰트 시리즈 이름의 목록을 정의하는 "속성"을
출력은
각 라인 s.index = 목록 ( "ABCDEFGHIJ"의 속성 이름) #의 재정 테이블
프린트 (S)
전단 (S를 [ " 는 ":"H ": 2 ]) #의 추출 부분 슬라이싱 관련

# Dataframe 이차원에서 동작 백과
날짜 = pd.date_range ("20180101 "는 기간 = 6, 주파수는 ="D ") # 1 생성 시계열
인쇄 (DATE)
DF = pd.DataFrame (np.random.randn (6,4), 인덱스 = DATE, 열 = 목록 ( "ABCD")) # 2 차원 난수 목록 6X4, 각 행마다 그 정의를 정의 이름 (인덱스 및 열) 열
df.index.name = "날짜"
인쇄 (DF)
DF1 = pd.DataFrame ({ "A" 1.0 "B"np.array ([3] * 4 = DTYPE INT), "C"pd.Timestamp ( "20190701"), "D"PD .Series ([1.21,2.21,3.24,4.26] = DTYPE 플로트), "E"pd.Categorical ([ "A", "B", "C", "D"), "F": " ABC "})
인쇄 (DF1)
인쇄 (df1.values) # 이진 데이터보기
인쇄 (df1.index) # 뷰 데이터 열 속성 이름
데이터의 처음 세 줄의 인쇄 (df1.head (3)) #C보기
프린트 (df1.tail (3)) 3 열의 후 # 뷰 데이터
인쇄 (df1.dtypes) #보기 데이터 테이블 데이터 형식의 각 유형

# 각종 데이터 테이블 판독 동작
= pd.read_excel ( "D df라고 : + 연습 + 설명 / 작업 / 작업 3/3 일 / 홍콩 호텔 데이터 .xlsx '에 ") # 테이블 / Byrbt2018 / 스터디 / 파이썬 데이터 분석 과정 + 실습 + 설명 / 파이썬 데이터 분석 과정은 작업이 PD에 주로 의존 읽어 보시기 바랍니다. read_excel / CSV 파일 경로 기능 +
인쇄 (DF)

# 동작 테이블 행
접미사를 사용하여 인쇄 (df.iloc [0]) # 쿼리 데이터 df.iloc에 형성 [:]
(df.iloc를 [인쇄 :5]) 첨자 번호 데이터 질의 형태 df.iloc을 [사용 :]
인쇄 (df.loc [0 : 5,0 :. 3) 형태를 사용하여 행 및 열 # 쿼리 데이터 DF에 속성 .iloc [:]
# 추가 라인 연산자
S = {0 "은 Tianshui 호텔", 1 "오락", 2 "는 Tianshui", 3 "간구 현", 4 "중관촌 거리", 5 : 4.5,6 : 11000,7 : 345} # 새로운 라인을 정의하는 사전의 동작을 이용하여, 데이터의 행을 정의
S1 = pd.Series 일차원리스트로서 (S) # 변환 사전
s1.name = 420 # 라인 속성 정의 목록
출력 (S1)
DF = 동작 (재 정의 목록) 증가하는 데이터 df.append (S1) # 라인
인쇄 (DF)
인쇄 (DF [-5 :])
DF = df.drop ([420]) # 로우 데이터 연산을 삭제 (재 정의 목록)
인쇄 (DF)
df.columns = [ "이름", "유형", "도시", "중국", "거리", "점수", "평가의 수", "일상의 수"] # 변경 테이블 각 열 이름
인쇄 (DF)
인쇄 (유형 (df.index))
프린트 (df.columns)
인쇄 (DF [ "이름"])
데이터의 세 가지 방법 (df.loc [행 특정 열 # 추출물; ,,, iLoc [],], DF [,,] :])
인쇄 (DF [ "이름", "입력"]] :5])는 특정 열 # 추출물 라인
0 인쇄 (df.iloc [: 5,0 : 3]) #의 열에서 행 (제 1 행에서 특정 열 추출물)
인쇄 (df.loc [1시 40분 , "유형": "평가"])
출력 (DF [ "이름", "점수", "시"] [0 : 400 : 20]) # 앞줄 로우 후

# 열 관련 동작
DF [ "수"= 폭 (1, LEN (DF) +1) # 증가 동작 열
출력 (DF [:. 5])
DF = df.drop ( "아니오"축 = 1) # 삭제 시간 열 기능을 .drop 사용하고, (X 드롭 축 = 1), x는 열을 제거하기 = 1 개 수단 축 열 이름을 나타내고,하지 기록 축은 기본 행 삭제, 그것은 0임을 나타내는
출력 (DF)
인쇄 (df.loc [1,2,3,5을 10], [ "입력", "평가"]) # 표준형 추출 데이터 테이블

# 조건 선택된 데이터 연산
출력 (DF [DF. 율> 4.5])
인쇄 (DF [(DF. 율> 4.5 ) (. DF 형 == "로맨틱 커플")])
인쇄 (DF [(( "홍콩"== 유형 DF.) | (. DF 일 수> 1000)) (점수 DF> 4.5)]).

# 데이터 아웃 라이어를 처리하고 값이 누락
(df.isnull ()) 인쇄
프린트 (DF [DF [ "평가"] .isnull ()]) 누락 값 # 구하여 출력한다
누락 값 채우기 #
(인쇄 DF [DF [ "평가의 수"] .isnull ()]) # 먼저 이들이 결함 값인지 확인
DF [ "평가의 수"] .fillna (NP.(DF [ "평가자의 수를"]) 의미 인플레 이스 트루) = #의 값을 실시간으로 갱신 = 1 개 인플레 이스 누락 채우기
) DF (프린트
인쇄 LEN (([DF [] .isnull () "평가의 수"] DF))
프린트 (렌 (DF))
프린트 (LEN (df.dropna ()))
df.dropna (상대 고정 = TRUE)
인쇄 (렌 ( DF))
프린트 (렌 (DF [DF [ "일수"] % 1! = 0])) 특이점을 결정하고 프로세싱 #
DF = DF [(DF [ "일수"] % 1 == 0) 및 (DF [ "사람들의 일상 번호"]> 0)] # 특이점의 조건에 따라 실시간으로 업데이트
출력 (DF)

전송 : 더 - 선택된 하나- 

추천

출처www.cnblogs.com/iamorz/p/12323179.html