다음과 같은 csv 파일이 있습니다.
patient_id, age_in_years, CENSUS_REGION, URBAN_RURAL_STATUS, YEAR
11511, 7, Northeast, Urban, 2011
9882613, 73, South, Urban, 2011
32190339, 49, West, Urban, 2011
32190339, 49, West, Urban, 2011
32190339, 49, West, Urban, 2011
32190339, 49, West, Urban, 2011
32190339, 49, West, Urban, 2011
32190339, 49, West, Urban, 2011
...
첫 번째 열 (예 : patient_id)은 색인이며 동일한 환자에 대해 여러 항목이 있음을 알 수 있습니다. 사용하여 데이터를 가져올 때 코드가 이러한 여러 항목을 무시하도록하고 pandas
싶지만 어떻게해야할지 모르겠습니다. 현재 이러한 목적으로 다음 코드를 사용하고 있습니다.
df = pd.read_csv(filename, index_col = 0)
df.drop_duplicates()
더 나아가 코드에는 다음과 같은 기능이 있습니다.
def URSTATUS_to_numeric(a):
if a == 'Urban':
return 0
if a == 'Rural':
return 1
if a == 'NULL':
return 2
이 함수를 호출하고 사용하여 인쇄하면 다음과 df.drop_duplicates()
같은 결과가 나타납니다.
df['URSTATUS_num'] = df['URBAN_RURAL_STATUS'].apply(URSTATUS_to_numeric)
print(df.drop_duplicates(['URSTATUS_num']))
>>> patient_id URSTATUS_num
11511 0
129126475 1
151269094 NaN
따라서 기본적으로 URSTATUS_num
열을 참조로 간주하여 중복을 삭제합니다 . 그러나 작업 patient_id
을 수행하는 동안 코드가 항상 참조하기를 원합니다 drop_duplicates()
. 누구든지 도와 주시겠습니까?
읽는 동안 무시할 수 없다고 생각하지만 일단 읽은 후에는을 사용하여 쉽게 삭제할 수 있습니다 drop_duplicates
.
df = pd.read_csv(filename, index_col = 0)
>>> df.drop_duplicates()
patient_id age_in_years CENSUS_REGION URBAN_RURAL_STATUS YEAR
0 11511 7 Northeast Urban 2011
1 9882613 73 South Urban 2011
2 32190339 49 West Urban 2011
편집하다:
한 번만 호출하고 싶을 것입니다.
df = pd.read_csv(filename, index_col = 0).drop_duplicates()
기본 데이터의 청결도에 따라 먼저 공백을 제거하기 위해 사전 처리해야 할 수도 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다