panda DataFrame에서 특정 열 이름 변경
특정 컬럼 이름을 변경할 수 있는 우아한 방법을 찾고 있었습니다.DataFrame
.
데이터 재생...
import pandas as pd
d = {
'one': [1, 2, 3, 4, 5],
'two': [9, 8, 7, 6, 5],
'three': ['a', 'b', 'c', 'd', 'e']
}
df = pd.DataFrame(d)
내가 지금까지 발견한 가장 우아한 해결책은...
names = df.columns.tolist()
names[names.index('two')] = 'new_name'
df.columns = names
간단한 원라이너를 원했는데...이 시도는 실패했습니다...
df.columns[df.columns.tolist().index('one')] = 'another_name'
힌트를 주시면 감사하겠습니다.
1개의 라이너가 존재합니다.
In [27]: df=df.rename(columns = {'two':'new_name'})
In [28]: df
Out[28]:
one three new_name
0 1 a 9
1 2 b 8
2 3 c 7
3 4 d 6
4 5 e 5
다음으로 의 docstring을 나타냅니다.rename
방법.
정의: df.darges(self, index=None, columns=None, copy=True, inplace=False)문서 문자열: 입력 함수를 사용하여 인덱스 및/또는 열을 변경합니다.기능들.함수 / dict 값은 고유해야 합니다(1-1-1).라벨 없음dict / Series에 포함되어 있으면 그대로 남습니다. 파라미터----------인덱스: dict-like 또는 함수, 옵션인덱스 값에 적용할 변환컬럼 : dict-like 또는 function, 옵션열 값에 적용할 변환copy : 부울, 디폴트 True또한 기본 데이터 복사inplace : 부울, 디폴트 False새 Data Frame을 반환할지 여부입니다.True일 경우 복사 값은 다음과 같습니다.무시당했습니다. 「 」를 참조해 주세요.--------Series. 이름 변경 돌아온다-------이름 변경 : DataFrame (새 객체)
부터inplace
인수를 사용할 수 있습니다.원래 데이터 프레임을 복사하여 다시 할당할 필요는 없습니다.다만, 다음과 같이 실시해 주세요.
df.rename(columns={'two':'new_name'}, inplace=True)
뭘요?
df.columns[2] = "new_name"
어느 열 번호(첫 번째/두 번째/n번째)인지 알고 있는 경우, 같은 질문에 게재되어 있는 이 솔루션은 이름 지정 여부에 관계없이 한 줄로 표시됩니다.https://stackoverflow.com/a/26336314/4355695
df.rename(columns = {list(df)[1]:'new_name'}, inplace=True)
# 1 is for second column (0,1,2..)
팬더 0.21은 이제 축 매개 변수를 가집니다.
rename 메서드는 나머지 팬더 API와 일치하는 축 매개변수를 얻었습니다.
이 외에도 다음과 같은 것이 있습니다.
df.rename(columns = {'two':'new_name'})
다음 작업을 수행할 수 있습니다.
df.rename({'two':'new_name'}, axis=1)
또는
df.rename({'two':'new_name'}, axis='columns')
여기서 열 이름을 변경하는 것은 두 가지 모두에 사용할 수 있는 간단한 방법입니다.Default(0,1,2,etc;)
및 기존 열이지만 큰 데이터 세트(열 수가 많음)에는 그다지 유용하지 않습니다.
더 큰 데이터 세트의 경우 필요한 열을 잘라 다음 코드를 적용할 수 있습니다.
df.columns = ['new_name','new_name1','old_name']
팬더 버전 0.23.4
df.rename(index=str,columns={'old_name':'new_name'},inplace=True)
기록의 경우:
index=str을 생략하면 오류 교체가 발생합니다. 예기치 않은 인수 'signal'이 있습니다.
다음과 같은 짧은 코드가 도움이 됩니다.
df3 = df3.rename(columns={c: c.replace(' ', '') for c in df3.columns})
열에서 공백을 제거합니다.
다른 옵션은 단순히 열을 복사하여 드롭하는 것입니다.
df = pd.DataFrame(d)
df['new_name'] = df['two']
df = df.drop('two', axis=1)
df.head()
그 후 결과를 얻을 수 있습니다.
one three new_name
0 1 a 9
1 2 b 8
2 3 c 7
3 4 d 6
4 5 e 5
size = 10
df.rename(columns={df.columns[i]: someList[i] for i in range(size)}, inplace = True)
언급URL : https://stackoverflow.com/questions/20868394/changing-a-specific-column-name-in-pandas-dataframe
'programing' 카테고리의 다른 글
Javascript V8 속도를 얻기 위해 Ruby, Python을 차단하는 것은 무엇입니까? (0) | 2022.09.15 |
---|---|
python 'type' 개체를 문자열로 변환합니다. (0) | 2022.09.15 |
Python에서 현재 사용자 이름을 얻을 수 있는 휴대용 방법이 있나요? (0) | 2022.09.15 |
JavaScript 개체의 첫 번째 키 이름을 가져옵니다. (0) | 2022.09.15 |
get_lock에서 현재 잠금을 모두 표시합니다. (0) | 2022.09.15 |