팬더 데이터 프레임의 모든 열 머리글을 소문자로 만들고 싶습니다.
예
만약 내가 가지고 있다면:
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
답변
str.lower
for로 쉽게 할 수 있습니다 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=unicode.lower
)
(파이썬 2)
또는
data.rename(
columns=str.lower
)
(파이썬 3)
답변
다음은 간단한 방법입니다.
data.columns = data.columns.str.lower()
답변
df.columns = df.columns.str.lower()
가장 쉽지만 일부 헤더가 숫자이면 오류가 발생합니다.
숫자 헤더가 있으면 다음을 사용하십시오.
df.columns = [str(x).lower() for x in df.columns]