Pandas에서 DataFrame 열을 문자열로 변환하는 방법
Pandas DataFrame 열을string
으로 변환하는 메소드를 소개합니다.
- Pandas
Series.astype(str)
방법 - 열의 요소에서 작동하는 DataFrame ‘적용’방법
이 기사에서는 아래에서 동일한 DataFrame을 사용합니다.
import pandas as pd
df = pd.DataFrame({"A": [1, 2, 3], "B": [4.1, 5.2, 6.3], "C": ["7", "8", "9"]})
print(df)
print(df.dtypes)
A B C
0 1 4.1 7
1 2 5.2 8
2 3 6.3 9
A int64
B float64
C object
dtype: object
Pandas Series.astype(str)
방법
Pandas Series.astype(dtype)
방법은 Pandas Series를 지정된dtype
으로 변환합니다. 유형.
pandas.Series.astype(str)
이 기사 에서처럼 Series, DataFrame 열을string
으로 변환한다.
>>> df
A B C
0 1 4.1 7
1 2 5.2 8
2 3 6.3 9
>>> df['A'] = df['A'].astype(str)
>>> df
A B C
0 1 4.1 7
1 2 5.2 8
2 3 6.3 9
>>> df.dtypes
A object
B float64
C object
dtype: object
astype()
메소드는 DataFrame
데이터를 그 자리에서 수정하지 않으므로 반환 된 Pandas Series
를 특정 DataFrame
열에 할당해야합니다.
또한 열 이름을 대괄호로 묶어 여러 열을 동시에 문자열로 변환하여 목록을 만들 수도 있습니다.
>>> df[['A','B']] = df[['A','B']].astype(str)
>>> df
A B C
0 1 4.1 7
1 2 5.2 8
2 3 6.3 9
>>> df.dtypes
A object
B object
C object
dtype: object
열의 요소에서 작동하는 DataFrame ‘적용’방법
apply(func, *args, **kwds)
DataFrame
의apply
메소드는func
함수를 각 열이나 행에 적용합니다.
단순함을 위해func
대신lambda
함수를 사용할 수 있습니다.
>>> df['A'] = df['A'].apply(lambda _: str(_))
>>> df
A B C
0 1 4.1 7
1 2 5.2 8
2 3 6.3 9
>>> df.dtypes
A object
B float64
C object
dtype: object
apply
메소드를 사용하여 함수를 여러 열에 적용 할 수 없습니다.
>>> df[['A','B']] = df[['A','B']].apply(lambda _: str(_))
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
df[['A','B']] = df[['A','B']].apply(lambda _: str(_))
File "D:\WinPython\WPy-3661\python-3.6.6.amd64\lib\site-packages\pandas\core\frame.py", line 3116, in __setitem__
self._setitem_array(key, value)
File "D:\WinPython\WPy-3661\python-3.6.6.amd64\lib\site-packages\pandas\core\frame.py", line 3144, in _setitem_array
self.loc._setitem_with_indexer((slice(None), indexer), value)
File "D:\WinPython\WPy-3661\python-3.6.6.amd64\lib\site-packages\pandas\core\indexing.py", line 606, in _setitem_with_indexer
raise ValueError('Must have equal len keys and value '
ValueError: Must have equal len keys and value when setting with an iterable
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook관련 문장 - Pandas DataFrame
- Pandas DataFrame 열 헤더를 목록으로 가져 오는 방법
- Pandas DataFrame 열을 삭제하는 방법
- Pandas 에서 DataFrame 열을 Datetime 으로 변환하는 방법
- Pandas DataFrame에서 float를 정수로 변환하는 방법
- 한 열의 값으로 Pandas DataFrame 을 정렬하는 방법
- Pandas 그룹 및 합계를 집계하는 방법