팬더 데이터 프레임의 문자열 열에서 텍스트를 대체하는 방법은 무엇입니까?
데이터 프레임에 다음과 같은 열이 있습니다.
range
"(2,30)"
"(50,290)"
"(400,1000)"
...
그리고 나는 그것을 대체하고 싶습니다.,
쉼표로 찍다-
dash. 이 방법을 사용하고 있지만 변경된 것은 없습니다.
org_info_exc['range'].replace(',', '-', inplace=True)
누가 도와줄 수 있습니까?
벡터화된 방법을 사용합니다.
df['range'] = df['range'].str.replace(',','-')
df
range
0 (2-30)
1 (50-290)
편집: 시도한 내용과 작동하지 않는 이유를 살펴보면 다음과 같습니다.
df['range'].replace(',','-',inplace=True)
문서에서 다음과 같은 설명을 볼 수 있습니다.
stror regex: str: str_replace에 정확히 일치하는 문자열이 값으로 바뀝니다.
따라서 str 값이 일치하지 않으므로 다음과 비교하여 교체가 발생하지 않습니다.
df = pd.DataFrame({'range':['(2,30)',',']})
df['range'].replace(',','-', inplace=True)
df['range']
0 (2,30)
1 -
Name: range, dtype: object
여기서 두번째 줄에서 정확히 일치하고 교체가 발생합니다.
Google에서 여기에 도착한 다른 사람은 모든 열에서 문자열 교체를 수행하는 방법을 검색합니다(예: OP의 'range' 열과 같이 여러 열이 있는 경우).팬더는 내장되어 있습니다.replace
데이터 프레임 개체에서 사용할 수 있는 메서드입니다.
df.replace(',', '-', regex=True)
출처 : 문서
특정 열에 있는 문자만 바꾸면 되는 경우에는 어떻게든 regex=True와 제자리=모두 실패한 것은 사실입니다. 이 방법이 효과가 있을 것입니다.
data["column_name"] = data["column_name"].apply(lambda x: x.replace("characters_need_to_replace", "new_characters"))
람다는 이 시나리오에서 for loop과 같이 작동하는 함수에 더 가깝습니다.여기서 x는 현재 열의 모든 항목을 나타냅니다.
"column_name", "character_need_to_replace" 및 "new_character"를 변경하기만 하면 됩니다.
열 이름에서 모든 쉼표를 밑줄로 바꿉니다.
data.columns= data.columns.str.replace(' ','_',regex=True)
또한 열에서 둘 이상의 문자를 바꾸려는 사용자의 경우 정규식을 사용하여 문자를 바꿀 수 있습니다.
import re
chars_to_remove = ['.', '-', '(', ')', '']
regular_expression = '[' + re.escape (''. join (chars_to_remove)) + ']'
df['string_col'].str.replace(regular_expression, '', regex=True)
Nancy K의 대답과 거의 비슷하게, 이것은 저에게 효과가 있습니다.
data["column_name"] = data["column_name"].apply(lambda x: x.str.replace("characters_need_to_replace", "new_characters"))
문자열에서 두 개 이상의 요소를 제거하려면 '$' 및 ','를 예로 들어 보겠습니다.
Column_Name
===========
$100,000
$1,100,000
... 그런 다음 사용:
data.Column_Name.str.replace("[$,]", "", regex=True)
=>[ 100000, 1100000 ]
언급URL : https://stackoverflow.com/questions/28986489/how-to-replace-text-in-a-string-column-of-a-pandas-dataframe
'programing' 카테고리의 다른 글
말이 되는 자바스크립트 퍼지 검색 (0) | 2023.10.01 |
---|---|
Django, 업그레이드 후:내 SQL 서버가 사라졌습니다. (0) | 2023.09.26 |
jquery clone div 및 특정 div 뒤에 추가 (0) | 2023.09.26 |
목록 항목 사이에 세로 공간을 설정하려면 어떻게 해야 합니까? (0) | 2023.09.26 |
Vue @click 이벤트 처리기에 매개 변수를 전달하는 방법 (0) | 2023.09.26 |