2017-02-14 1 views
0

하나는 "하나, 둘, 셋"등의 쉼표로 구분 된 텍스트가 포함되어 있습니다.쉼표로 구분 된 텍스트를 바꾸는 방법?</p> <pre><code>df = Col1 Col2 One, two, three Abc Two Def </code></pre> <p>내가 <code>One_two_three</code>에 의해 <code>One, two, three</code>를 교체하려면 : 내 dataframe의 열

이 코드 적용하는 경우 :

df['Col1'].replace("One, two, three", "One_two_three",inplace=True) 

를 ... 그것은 아무것도 변경되지 않습니다. 왜?

+0

'print (df ['Col1 '] .iloc [0])'output? st.replace (',', '_') ' – EdChum

+0

@EdChum :'One, two, three'을 출력합니다. – Dinosaurius

+0

@EdChum : 제안 된 솔루션을 테스트했습니다. 동일한 결과 인 'One, Two, Three'를 출력합니다. 글쎄요, 더 구체적으로 말하자면 저는 실제로 하나, 둘, 셋을 가지고 있지만 그것이 변화한다고 생각하지 않습니다. – Dinosaurius

답변

0
필요한 경우 공백, 심지어 외부 쉼표를 처리

일반화 된 솔루션 :

df['Col1'] = df['Col1'].apply(lambda x: '_'.join(x.replace(' ','').split(',')).strip('_')) 

예 :

df = pd.DataFrame({'Col1':['x, w , wwwa,ds','x,a,a','y,c','y',',z,']}) 

      Col1 
0 x, w , wwwa,ds 
1   x,a,a 
2    y,c 
3    y 
4    ,z, 

결과 : 더 외부 쉼표가없는 경우

  Col1 
0 x_w_wwwa_ds 
1  x_a_a 
2   y_c 
3   y 
4   z 

, 그냥 떠나 마지막으로 .strip('_') 부분을 나간다.

1

반드시

df["Col1"] = df["Col1"].str.replace(' ','').str.replace(',','_').str.strip('_') 

      Col1 
0 x_w_wwwa_ds 
1  x_a_a 
2   y_c 
3   y 
4   z 

도 작동이 필요하지 않습니다에 적용됩니다. 어떤 접근 방식이 권장되는 성능인지 잘 모르겠습니다.

관련 문제

 관련 문제