정수가 아닌 셀 값을 포함하는 행을 삭제 한 다음 문자열을 정수로 변환 한 다음 오름차순으로 정렬하는 간단한 방법이 있습니까? 제거하려는 문자열이있는 데이터 세트 (단일 레코드 번호로되어있는 단일 열)가 있습니다. 이 코드는 작동하는 것 같지만 정렬은 "float"가 "string"인 것처럼 정렬되는 것 같습니다. 예를 들어 레코드 번호는 다음과 같이 정렬됩니다.
0
1
2
200000000
201
3
암호:
import pandas
with open('GridExport.csv') as incsv:
df1 = pandas.read_csv(incsv, usecols=['Record Number'])
cln = pandas.DataFrame()
cln['Record Number'] = [x for x in df1['Record Number'] if x.isdigit()]
cln.astype(float)
print(cln.sort(['Record Number']))
먼저 float로 변환하지 않고이를 수행하는 방법이 있습니까? int64에 맞지 않는 숫자를 삭제하고 싶습니다.
코드의 문제는
cln['Record Number'].astype(float)
데이터 프레임을 수정하지 않습니다. 따라서 열을 문자열 유형으로 취급하고 그에 따라 정렬합니다. cln['Record Number'].dtype
성명서 뒤에 인쇄 하면 명확해야합니다. 수정하려면 할당을해야합니다.
cln['Record Number'] = cln['Record Number'].astype(float)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다