Pandas에서 DataFrame 열을 문자열로 변환하는 방법

Jinku Hu 2023년1월30일 2020년6월16일 Pandas Pandas DataFrame Pandas DataFrame Column
  1. Pandas Series.astype(str)방법
  2. 열의 요소에서 작동하는 DataFrame ‘적용’방법
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)

DataFrameapply 메소드는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
Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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

관련 문장 - Pandas DataFrame

  • Pandas DataFrame 열 헤더를 목록으로 가져 오는 방법
  • Pandas DataFrame 열을 삭제하는 방법
  • Pandas 에서 DataFrame 열을 Datetime 으로 변환하는 방법
  • Pandas DataFrame에서 float를 정수로 변환하는 방법
  • 한 열의 값으로 Pandas DataFrame 을 정렬하는 방법
  • Pandas 그룹 및 합계를 집계하는 방법
  • 관련 문장 - Pandas DataFrame Column

  • Pandas DataFrame 열 헤더를 목록으로 가져 오는 방법
  • Pandas DataFrame 열을 삭제하는 방법
  • Pandas 에서 DataFrame 열을 Datetime 으로 변환하는 방법
  • Pandas 열의 합계를 얻는 방법
  • Pandas DataFrame 열의 순서를 변경하는 방법