2016-10-17 6 views
4

와 쉼표를 교체, 난 점으로 쉼표를 교체하려면 :다음과 같은 배열을 지정해 점 팬더

array(['0,140711', '0,140711', '0,0999', '0,0999', '0,001', '0,001', 
     '0,140711', '0,140711', '0,140711', '0,140711', '0,140711', 
     '0,140711', 0L, 0L, 0L, 0L, '0,140711', '0,140711', '0,140711', 
     '0,140711', '0,140711', '0,1125688', '0,140711', '0,1125688', 
     '0,140711', '0,1125688', '0,140711', '0,1125688', '0,140711', 
     '0,140711', '0,140711', '0,140711', '0,140711', '0,140711', 
     '0,140711', '0,140711', '0,140711', '0,140711', '0,140711', 
     '0,140711', '0,140711', '0,140711', '0,140711', '0,140711', 
     '0,140711', '0,140711', '0,140711', '0,140711'], dtype=object) 

나는 다른 방법을 시도를하고 있어요 그러나 나는이 작업을 수행하는 방법을 알아낼은`t. 또한, 나는 DataFrame로 가지고 있지만 기능을 적용 할 수 없습니다 :

df 
     1-8  1-7 
H0 0,140711 0,140711 
H1  0,0999  0,0999 
H2  0,001  0,001 
H3 0,140711 0,140711 
H4 0,140711 0,140711 
H5 0,140711 0,140711 
H6   0   0 
H7   0   0 
H8 0,140711 0,140711 
H9 0,140711 0,140711 
H10 0,140711 0,1125688 
H11 0,140711 0,1125688 
H12 0,140711 0,1125688 
H13 0,140711 0,1125688 
H14 0,140711 0,140711 
H15 0,140711 0,140711 
H16 0,140711 0,140711 
H17 0,140711 0,140711 
H18 0,140711 0,140711 
H19 0,140711 0,140711 
H20 0,140711 0,140711 
H21 0,140711 0,140711 
H22 0,140711 0,140711 
H23 0,140711 0,140711 

df.applymap(lambda x: str(x.replace(',','.'))) 

어떤 제안을? 감사합니다

+1

'df.applymap : 여기에 결과를 다시 할당하는 것입니다 (람다 X : '.'STR (x.replace ('')))'않습니다 일'에 점을 쉼표로 대체합니다 pd .__ version__ == ' 0.18.1 '' – Zero

+0

결과를 다시 지정 했습니까? – EdChum

+0

또한 각 열에 대해 이렇게하는 것이 더 빠를 것입니다 :'df = df.apply (lambda x (d, x, y) : x.str.replace (',', '.'))' – EdChum

답변

3

당신의 결과를 할당해야 당신이 빨리 할 벡터화 str.replaceapply 또는 stackunstack을 사용할 수 있습니다 외에 작업이 올바른 위치 아니므로 다시 운항합니다 :

In [5]: 
df.apply(lambda x: x.str.replace(',','.')) 

Out[5]: 
      1-8  1-7 
H0 0.140711 0.140711 
H1  0.0999  0.0999 
H2  0.001  0.001 
H3 0.140711 0.140711 
H4 0.140711 0.140711 
H5 0.140711 0.140711 
H6   0   0 
H7   0   0 
H8 0.140711 0.140711 
H9 0.140711 0.140711 
H10 0.140711 0.1125688 
H11 0.140711 0.1125688 
H12 0.140711 0.1125688 
H13 0.140711 0.1125688 
H14 0.140711 0.140711 
H15 0.140711 0.140711 
H16 0.140711 0.140711 
H17 0.140711 0.140711 
H18 0.140711 0.140711 
H19 0.140711 0.140711 
H20 0.140711 0.140711 
H21 0.140711 0.140711 
H22 0.140711 0.140711 
H23 0.140711 0.140711 

In [4]:  
df.stack().str.replace(',','.').unstack() 

Out[4]: 
      1-8  1-7 
H0 0.140711 0.140711 
H1  0.0999  0.0999 
H2  0.001  0.001 
H3 0.140711 0.140711 
H4 0.140711 0.140711 
H5 0.140711 0.140711 
H6   0   0 
H7   0   0 
H8 0.140711 0.140711 
H9 0.140711 0.140711 
H10 0.140711 0.1125688 
H11 0.140711 0.1125688 
H12 0.140711 0.1125688 
H13 0.140711 0.1125688 
H14 0.140711 0.140711 
H15 0.140711 0.140711 
H16 0.140711 0.140711 
H17 0.140711 0.140711 
H18 0.140711 0.140711 
H19 0.140711 0.140711 
H20 0.140711 0.140711 
H21 0.140711 0.140711 
H22 0.140711 0.140711 
H23 0.140711 0.140711 

중요한 일을

df = df.stack().str.replace(',','.').unstack()

관련 문제