수천 마커에 대해 쉼표가있는 문자열로 숫자를 포함하는 DataFrame이 있습니다. 나는 그것들을 수레로 변환해야합니다.
a = [['1,200', '4,200'], ['7,000', '-0.03'], [ '5', '0']]
df=pandas.DataFrame(a)
locale.atof를 사용해야한다고 생각합니다. 과연
df[0].apply(locale.atof)
예상대로 작동합니다. 나는 일련의 수레를 얻습니다.
하지만 DataFrame에 적용하면 오류가 발생합니다.
df.apply(locale.atof)
TypeError : ( "시리즈를"로 변환 할 수 없습니다. 인덱스 0에서 발생했습니다. ")
과
df[0:1].apply(locale.atof)
또 다른 오류가 있습니다.
ValueError : ( 'invalid literal for float () : 1,200', u'occurred at index 0 ')
그렇다면이 DataFrame문자열을 부동의 DataFrame으로 어떻게 변환 합니까?
applyDataFrame에서 전체 열 을 함수에 시리즈로 전달 하기 때문에 해당 오류가 발생합니다 (이 경우locale.atof문자열이 필요합니다).applymap아래 답변에서 @AndyHayden 이하는 방법을 사용하면 잘 할 수 있습니다.