2017-12-20 37 views
1

큰 결과 테이블에서 소수점을 신중하게 정의하고 있습니다. 그러나 내 보고서의 페이지에 맞출 수 있도록이 전치환을 사용할 때 (.to_latex 사용) 팬더는 소수점 이하를 가장 큰 것으로 설정합니다 숫자는이다.팬더 전치가 10 진수 반올림을 재설정합니다

조옮김 중에 십진수 정밀도를 유지할 수 있습니까? 차라리 전치 후에 소수를 정의하지 않아도됩니다.

(참고 : 나는 전치 전에 dataframe 문자열의 행이있을 때이 작업을 수행하지 않습니다 발견했습니다, 그래서 나는 그것이 내가 이해하고 있지 않다 데이터 유형 정의의 일종이다 생각하고)

예제 코드 :

df = pd.DataFrame(np.random.random([3, 3]), 
    columns=['A', 'B', 'C'], index=['first', 'second', 'third']) 

df = df.round({'A': 1, 'C': 2}) 
print(df) 
print(df.transpose()) 

출력 : 내가 원하는

  A   B  C 
first 0.3 0.557432 0.78 
second 0.8 0.568175 0.28 
third 0.4 0.745703 0.62 
     first second  third 
A 0.300000 0.800000 0.400000 
B 0.557432 0.568175 0.745703 
C 0.780000 0.280000 0.620000 

:

01 2,

답변

3

전치, 그것은 (컬럼)를 지금 전치 행 는 동일 또는 라운딩의 동일한 유형하지 않을 가능성이있다. Pandas는 이것을 (가능하다면 성능 관점에서) 해결하려고 시도하므로 반올림이 재설정됩니다.

이제
df.astype(object).T 

    first second  third 
A  0.8  0.7  0.7 
B 0.22444 0.475358 0.498084 
C  0.17  0.87  0.71 

가, 팬더 객체 컬럼에 대한 어떠한 가정도하지 않으며, 그들은 변환에서 시도하지 않고,있는 그대로 전치된다 - 당신이 라운딩을 보존 object 유형으로 dataframe을 변환하고 싶은 경우에 트랜스 데이터. 객체로서의 데이터는 성능면에서 자살적인 것임을 명심하십시오. 객체가 성능상의 이점을 제공하지 않기 때문에,이 시점에서 파이썬리스트를 사용할 수도 있습니다.

+1

너무 빨리 입력하십시오 LOL – Dark

+0

강조하기 위해 기울임 꼴이 더 좋습니다! –

+0

그래, 날짜까지 한 번 사용하지 마십시오. 그래, 좋은 답변이 아님 – Dark