[파이썬] scientific notation으로 나오지 않게 하는 방법 문의

조회수 1492회

pandas dataframe이 있는데, 한 컬럼이 timestamp입니다.
그 값이 1518586207202 와 같이 표현되는데,
이걸 1000으로 나눈 값을 정수로 나타내려고 합니다.

그래서 df1.timestamp/1000 을 해보면
이게 1.518586e+09 이런식으로 표현되는데요
이걸 그냥 정수형으로 표현시키는 방법은 없는지요

jupyter notebook 사용중이며,
np.set_printoptions(suppress=True)를 해봐도 소용이 없네요..

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 아마도 dataframe에 정수값을 나타내는 컬럼을 새로 추가하시는 편이 낫지 않을까요?

    제일 간단하게는 // 연산자를 활용하는 방법이 있습니다. 이 연산자는 나눗셈에서 나머지를 버린 몫(정수값)만을 리턴해줍니다. 예를 들면 7//3의 값은 2, 5//22가 됩니다.

    ts  = 1518586207202
    sec = ts // 1000
    print(ts)   # result: 1518586207202
    print(sec)  # result: 1518586207
    

    만약에 sec 변수의 값을 소수점이 있는 그대로 저장하고 싶고, 출력만 정수로 하실 것이라면 다음과 같이 string formatting을 쓰시면 될 것 같네요.

    ts  = 1518586207202
    sec = ts / 1000
    print('{:d}'.format(sec))  # result: '1518586207'
    print('%d'%(sec))          # result: '1518586207'
    

    도움 되시길 바라겠습니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)