데이터 유형은 변경하십시오 열 마리의
난 로렌아줌마가 변환하십시오 목록을 표로 표시된 열거합니다 다테프라임 를 판다. 표시됨과 매우 간단한 예:
a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']]
df = pd.DataFrame(a)
지정하십시오. 변환하십시오 열 수 있는 최선의 방법은 해당 유형, 이 경우 열 2 와 3 를 유동합니다? 유형을 지정할 수 있는 방법이 변환할 때 다테프라임? 또는 더 우수합니까 다테프라임 만들려면 먼저 그리곤요 루프 유형을 변경하십시오 열을 통해 각 열? 이 작업을 수행할 수 있기 때문에 이상적인 싶다 동적 길을 열 쉐퍼드도 don& 수백 t # 39, 정확히 어떤 열은 지정할 재배케하여 유형:. 내가 같은 유형의 모든 값이 들어 각 열 수 있을지 장담할 수 있다는 것입니다.
683
7
유형 3 마리의 변환하기 위한 기본 옵션이 있습니다.
1 ' ()' to_numeric.
가장 좋은 방법은 단 하나 이상의 숫자 값은 변환하십시오 다테프라임 사용할 수 있는 ['pandas.to_numeric ()'] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.to_numeric.html). 이 기능은 변경하시려면 시도하시겠습니까 비사양 숫자 객체에는 정수 또는 부동 소수점 숫자 (문자열 등) 를 적절히.
기본 사용법
이 ' () 의' 은 하나의 열에 대한 입력입니다 to_numeric 시리즈이거나 다테프라임.
알 수 있듯이, 새로운 시리즈가 반환됨. 출력 변수 또는 계속 사용하기 위해 열 이름을 붙인 것을 잊지 마십시오.
또한 여러 열 수 있습니다 () '를 통해' 의 변환하십시오 다테프라임 적용하십시오 방법:
네, 아마도 모든 값이 자동으로 deltamove 변환하지는 that& # 39 의 all you need.
오류 처리
하지만 와일드링이 can& # 39 로 변환할 수 없는 일부 값을 숫자, 문자? 'to_numeric () 는' 도 '키워드' 오류 '난', 또는 간단히 할 수 있는 인수 인력용 비사양 숫자 값이 들어 있는 열 무시하시겠습니까 이 값을.
39 의 's' 를 사용한 예는 here& 일련의 문장열 디스크입니다. diskid 객체에는 트리프:
39 는 기본 동작 경우, 값을 변환하시겠습니까 can& 올릴 수 없다. 이 경우, # 39, & # 39, 문자열 t 대응하기 can& pandas& # 39;:
39, & # 39 pandas& 페일오버합니다 아닌 구하사 원할 수도 있습니다. 실종된 것으로 간주되려면 / 나쁜거라 숫자 값. '난' 위압하다 수 있습니다 잘못된 값을 사용하여 다음과 같이 '키워드' 오류뿐만 인수:
세 번째가 바로 작업에 대한 잘못된 값을 발견될 경우 '오류' 무시하려면.
이 옵션은 특히 유용한 변환할 때 마지막 다테프라임 전체를 don& # 39 의 열 수 있지만, 아직 알 수 있는 t 변환하지는 안정적으로 숫자 유형:. 이 경우 그냥 쓰기:
이 함수는 각 열 (다테프라임 적용된다. 열 수 없는 반면, 열 변환하지는 유형은 변환할 수 있는 숫자 (예: 문장열 포함된 숫자가 아닌 것 또는 날짜) 혼자 남게 된다.
다운카스팅
기본적으로 변환 () '와' 너 '를' '또는' float64 to_numeric 부여하느뇨 int64 트리프 (또는) 는 어떤 정수 너버 데이터베이스에구성원을 platform).
39 의 보통 that& 그리웠댔지, 하지만 와일드링이 일부 메모리 저장 및 사용, 더 하고 싶은 것 ',' 또는 'int8 컴팩트형 트리프 float32'?
& # 39 옵션을 사용하면 to_numeric () '' 으로 돌아가도 록 하여주소서 # 39, & # 39, & # 39 signed& integer&,, # 39, & # 39,, # 39 unsigned& float& # 39;. 예를 들어, 정수) 의 's # 39 here& 유형: 단순 시리즈
39, & # 39 를 다운카스팅 integer&. 사용 가능한 가장 작은 정수 값을 가질 수 있는.
39, & # 39 를 다운카스팅 float&. 보통 때보다 떠 있는 작은 partnernet 선택 유형:
2. '아스트리프 ()'
['아스트리프 ()'] (https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.astype.html) 이 방법을 사용하면 명시적 또는 시리즈에 대한 운영까지도 너회의 다테프라임 가봤다네 트리프 사용할 수 있습니다 # 39 의 it& 다용성 수 있다는 점에서 매우 가서 시도하시겠습니까 한 유형을 any other.
기본 사용법
그냥 선택 유형: 누마피 트리프 사용할 수 있습니다 (예를 들어 'np.int16'), 일부 파이썬 유형 (예를 들어 부울) 또는 특정 판다 유형 (같은 범주 트리프). Security. 방법 () '와' 아스트리프 변환할지 운영까지도 객체에 대한 it 당신꺼에요 변환하십시오 나선다.
내가 말한 try" 디이브이 "; - 어떻게 알 수 없는 경우 '아스트리프 ()' 에 값을 변환하십시오 시리즈이거나 다테프라임 얻게된다면 부활시켜 오류가 발생했습니다. 예를 들어 있는 경우 '' 난 '또는' ll get it, inf you& 정수 값을 # 39 한 변환할지 오류가 발생했습니다. Vmware. & # 39 마리의 0.20.0 이 오류가 전달하여, # 39, ignore& 오류뿐만 억제할 수 '='. 기존 객체가 반품하십시오 그대로 둡니다.
조심해
하지만 ',' () 는 때때로 아스트리프 강하심과 변환하십시오 값뿐 " incorrectly". 예를 들면 다음과 같습니다.
이들은 작은 정수, 메모리 저장하라는 서명되지 않은 8 비트 문자 변환 어때요?
하지만 - 7 은 될 수 있도록 변환 협력했습니다 랩된 라운드하지 249 (즉, sup> 2< 8< /sup>;; 7)! 돌아가도 록 하여주소서 pd.to_numeric 사용하여 하는 ' (s, & # 39, unsigned& 돌아가도 록 하여주소서 = # 39;)' 대신 이 오류를 방지할 수 있다.
3 infer_objects () '.'
['Infer_objects ()'] 의 버전 0.21.0 판다 등이 이 방법 (https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.infer_objects.html) 의 열 수 있는 데이터 형식 객체에는 다테프라임 변환하기 위한 구체적인 유형 (소프트 변환에는). 예를 들어, 두 개의 열로 객체에는 here& # 39 을 다테프라임 유형:. 실제 정수, 나머지 한 문장열 정수 사이트용 보유하고 있다.
Infer_objects 사용하여 열 & # 39 () ',' a& # 39, 유형을 변경할 수 있습니다. int64 로.
열 b& # 39, & # 39. 그동안 방치된 아닌 정수 값을 문장열 이래 있었다. 모두 열 경우 강제로 변환되게 그들이성년에 시도하시려면 및 정수 유형 (int) '대신' 드프리아티페 사용할 수 있습니다.
이건 어때?
아래 코드는 이 데이터 형식 변경) 의 열.
대신 자료형 (int, float, str 같은 데이터 형식 드와이트 진행하시겠습니까 상술합니다 제공하세요 수 있습니다.
이것은 함수의 인수로 다테프라임 목록과 모든 데이터를 처리하는 한 강제 변환 열과 열에 숫자와.
이에 대해 페일세이프 (예:
39 만, ve I& 때 필요한 특정 열을 지정할 수 있으며, # 39, ve I& 명시성, I want to be used (당 문서 위치를).
그래서 원래 질문은 하지만 열 이름을 사용하여 제공할 예정이다.
어떻게 다테프럼스 작성에 대한 그들의 열 두 개의 각각 다른 대한 데이터 형식, 그 후 추가 사귀는거야?
부동 소수점 com/go/4e6b330a_kr 다테프라임 작성되고, 후에 제 1 열이 있고 문장열 채웁니다 수 있습니다 (또는 데이터 종류에 모든 것) 에 2 열입니다.
약간의 차이는 있지만 사실은 내가 할 수 있는 줄 알았는데 경식도 비슷한 문제를 안고 있는 문제를 쉽게 해결할 수 있습니다. # 39 에 달하는 이 질문을 보고 it& 타인에 대한 여러분의 의견을 확인하는 형식을 목록. 저의 경우는 수치는 xam 유동합니다 문장열 아닌 것처럼 질문:
그러나 목록을 작성하기 전에 내가 너무 처리하여 다테프라임 손실됩니다 유형 및 설명하였노라 문자열으로 됩니다.
누마피 어레이입니다 통해 데이터 프레임을 만드는
"' df = pd. 다테프라임 (np.라이 (a))
df 아웃해야 [5]: 0 1 2 0 은 1.2 4.2 70 0.03 1 b 2 x 5 0
[1] 스트리프 df 아웃해야 [7]: 트리프 (& # 39, O& # 39;) "'
같은 데이터 프레임을 같이 될 수 있는 것으로 1 과 2 는 열에 엔트리입니다 써줬지 그러나 하는 "' df = pd. 다테프라임 (a)
df 아웃해야 [10]: 0 1 2 0 은 1.2 4.20 1 b 70.0 0.03 2 x 5.0 0.00
[1] 스트리프 df 아웃해야 [11]: 트리프 (& # 39, float64& # 39;) "' 실제로 데이터 프레임을 만들 수 있는 올바른 형식이 열