code

Python Pandas : 데이터 프레임 열의 문자를 바꾸는 방법은 무엇입니까?

codestyles 2020. 11. 30. 08:17
반응형

Python Pandas : 데이터 프레임 열의 문자를 바꾸는 방법은 무엇입니까?


내 데이터 프레임에 다음과 같은 열이 있습니다.

range
(2,30)
(50,290)
(400,1000)
... 

','쉼표를 '-'대시로 바꾸고 싶습니다. 현재이 방법을 사용하고 있지만 아무것도 변경되지 않았습니다.

org_info_exc['range'].replace(',','-',inplace=True)

아무도 도울 수 있습니까?


벡터화 된 str방법을 사용하십시오 replace.

In [30]:

df['range'] = df['range'].str.replace(',','-')
df
Out[30]:
      range
0    (2-30)
1  (50-290)

편집하다

따라서 시도한 내용과 작동하지 않는 이유를 살펴보면 :

df['range'].replace(',','-',inplace=True)

로부터 문서 우리는이 제품 설명을 참조하십시오

str 또는 regex : str : to_replace와 정확히 일치하는 문자열은 값으로 대체됩니다.

따라서 str 값이 일치하지 않으므로 대체가 발생하지 않으므로 다음과 비교하십시오.

In [43]:

df = pd.DataFrame({'range':['(2,30)',',']})
df['range'].replace(',','-', inplace=True)
df['range']
Out[43]:
0    (2,30)
1         -
Name: range, dtype: object

여기서 우리는 두 번째 행에서 정확한 일치를 얻고 교체가 발생합니다.


Google 검색에서 모든에서 문자열 교체를 수행하는 방법에 대한 다른 사용자를 위해 (예 : OP의 '범위'열과 같은 여러 열이있는 경우) Pandas에는 replace데이터 프레임 개체 에서 사용할 수 있는 기본 제공 메서드가 있습니다.

df.replace(',', '-', regex=True)

출처 : 문서


열 이름에서 모든 쉼표를 밑줄로 바꿉니다.

data.columns= data.columns.str.replace(' ','_',regex=True)

참고 URL : https://stackoverflow.com/questions/28986489/python-pandas-how-to-replace-a-characters-in-a-column-of-a-dataframe

반응형