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

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

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

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

1답변

  • 좋아요

    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'
    

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

    • 이런 간단한 방법이 있었군요! 감사합니다 잘 배워갑니다! AshtrayK 2018.3.2 18:11

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.