Program Tip

Pandas 데이터 프레임 내의 열을 정수에서 문자열로 변환

programtip 2020. 10. 4. 13:11
반응형

Pandas 데이터 프레임 내의 열을 정수에서 문자열로 변환


int 및 str 데이터 열이 혼합 된 팬더에 데이터 프레임이 있습니다. 데이터 프레임 내에서 먼저 열을 연결하고 싶습니다. 그렇게하려면 int열을 str. 다음과 같이 시도했습니다.

mtrx['X.3'] = mtrx.to_string(columns = ['X.3'])

또는

mtrx['X.3'] = mtrx['X.3'].astype(str)

하지만 두 경우 모두 작동하지 않고 " 'str'및 'int'개체를 연결할 수 없습니다."라는 오류가 발생합니다. str열을 연결하면 완벽하게 작동합니다.


In [16]: df = DataFrame(np.arange(10).reshape(5,2),columns=list('AB'))

In [17]: df
Out[17]: 
   A  B
0  0  1
1  2  3
2  4  5
3  6  7
4  8  9

In [18]: df.dtypes
Out[18]: 
A    int64
B    int64
dtype: object

시리즈 변환

In [19]: df['A'].apply(str)
Out[19]: 
0    0
1    2
2    4
3    6
4    8
Name: A, dtype: object

In [20]: df['A'].apply(str)[0]
Out[20]: '0'

결과를 다시 할당하는 것을 잊지 마십시오.

df['A'] = df['A'].apply(str)

전체 프레임 변환

In [21]: df.applymap(str)
Out[21]: 
   A  B
0  0  1
1  2  3
2  4  5
3  6  7
4  8  9

In [22]: df.applymap(str).iloc[0,0]
Out[22]: '0'

df = df.applymap(str)

DataFrame 열의 데이터 유형 변경 :

int로 :

df.column_name = df.column_name.astype(np.int64)

str하려면 :

df.column_name = df.column_name.astype(str)


경고 : 주어진 두 솔루션 ( astype () 및 apply () ) 은 nan 또는 None 형식에서 NULL 값을 유지하지 않습니다.

import pandas as pd
import numpy as np

df = pd.DataFrame([None,'string',np.nan,42], index=[0,1,2,3], columns=['A'])

df1 = df['A'].astype(str)
df2 =  df['A'].apply(str)

print df.isnull()
print df1.isnull()
print df2.isnull()

I believe this is fixed by the implementation of to_string()


Use the following code:

df.column_name = df.column_name.astype('str')

참고URL : https://stackoverflow.com/questions/17950374/converting-a-column-within-pandas-dataframe-from-int-to-string

반응형