반응형
판다 데이터 프레임 열 헤더를 모두 소문자로 만들려면 어떻게 해야 합니까?
내 판다의 모든 열 헤더를 데이터 프레임 하부 케이스로 만들고 싶습니다.
예
내가 가지고 있는 경우:
data =
country country isocode year XRAT tcgdp
0 Canada CAN 2001 1.54876 924909.44207
1 Canada CAN 2002 1.56932 957299.91586
2 Canada CAN 2003 1.40105 1016902.00180
....
다음과 같은 작업을 수행하여 XRAT를 xrat로 변경하고 싶습니다.
data.headers.lowercase()
그래서 나는 다음을 얻습니다.
country country isocode year xrat tcgdp
0 Canada CAN 2001 1.54876 924909.44207
1 Canada CAN 2002 1.56932 957299.91586
2 Canada CAN 2003 1.40105 1016902.00180
3 Canada CAN 2004 1.30102 1096000.35500
....
각 열 머리글의 이름을 미리 알 수 없습니다.
다음과 같이 할 수 있습니다.
data.columns = map(str.lower, data.columns)
또는
data.columns = [x.lower() for x in data.columns]
예:
>>> data = pd.DataFrame({'A':range(3), 'B':range(3,0,-1), 'C':list('abc')})
>>> data
A B C
0 0 3 a
1 1 2 b
2 2 1 c
>>> data.columns = map(str.lower, data.columns)
>>> data
a b c
0 0 3 a
1 1 2 b
2 2 1 c
당신은 그것을 쉽게 할 수 있습니다.columns
:
df.columns = df.columns.str.lower()
예:
In [63]: df
Out[63]:
country country isocode year XRAT tcgdp
0 Canada CAN 2001 1.54876 9.249094e+05
1 Canada CAN 2002 1.56932 9.572999e+05
2 Canada CAN 2003 1.40105 1.016902e+06
In [64]: df.columns = df.columns.str.lower()
In [65]: df
Out[65]:
country country isocode year xrat tcgdp
0 Canada CAN 2001 1.54876 9.249094e+05
1 Canada CAN 2002 1.56932 9.572999e+05
2 Canada CAN 2003 1.40105 1.016902e+06
연결된 메서드 호출을 사용하여 이름 바꾸기를 수행하려면 다음을 사용할 수 있습니다.
data.rename(columns=str.lower)
메서드 호출을 연결하지 않을 경우 추가할 수 있습니다.inplace=True
data.rename(columns=str.lower, inplace=True)
df.columns = df.columns.str.lower()
가장 쉽지만 일부 헤더가 숫자인 경우 오류가 발생합니다.
숫자 머리글이 있는 경우 다음을 사용합니다.
df.columns = [str(x).lower() for x in df.columns]
열 이름이 숫자로 구성된 경우(예: "123") 다른 답변 중 일부가 실패합니다.이러한 경우에도 처리할 수 있습니다.
옵션 1: df.rename 사용
def rename_col(old_name):
return str(old_name).lower()
df.rename(rename_col)
옵션 2(이 설명에서):
df.columns.astype(str).str.lower()
공식 문서에 근거한 또 다른 협약:
frame.rename(mapper=lambda x:x.lower(), axis='columns', inplace=True)
매개 변수: 매퍼:해당 축의 값에 적용할 딕트 유사 변환 또는 함수 변환.매퍼 및 축을 사용하여 매퍼로 대상을 지정하거나 인덱스 및 열을 지정할 수 있습니다.
언급URL : https://stackoverflow.com/questions/19726029/how-can-i-make-pandas-dataframe-column-headers-all-lowercase
반응형
'programing' 카테고리의 다른 글
SQL Server의 다른 데이터베이스에서 테이블의 데이터를 선택하는 방법은 무엇입니까? (0) | 2023.06.30 |
---|---|
이 해커는 무엇을 하려고 합니까? (0) | 2023.06.30 |
Oracle에서 'Buffer Gets'는 실제로 무엇을 의미합니까? (0) | 2023.06.30 |
두 Oracle 타임스탬프 간의 간격(초) (0) | 2023.06.30 |
Url.action()을 사용하여 동적 Javascript 값 전달 (0) | 2023.06.30 |