質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

4949閲覧

timestamp(13桁)カラムをDateTime型に変換したい

退会済みユーザー

退会済みユーザー

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/11/11 07:00

編集2019/11/11 07:44

リンク内容

解決したいこと

timestampカラム13桁(型:int)をDateTime型に変換したい。

実行したこと

f_datastamp = lambda x: datetime.fromtimestamp(x)
df['time'].apply(f_datastamp)

結果(エラー)


ValueError Traceback (most recent call last)
<ipython-input-54-69518daf37e2> in <module>
----> 1 df['time'].apply(f_datastamp)

/anaconda3/lib/python3.7/site-packages/pandas/core/series.py in apply(self, func, convert_dtype, args, **kwds)
3192 else:
3193 values = self.astype(object).values
-> 3194 mapped = lib.map_infer(values, f, convert=convert_dtype)
3195
3196 if len(mapped) and isinstance(mapped[0], Series):

pandas/_libs/src/inference.pyx in pandas._libs.lib.map_infer()

<ipython-input-49-88c51a267085> in <lambda>(x)
----> 1 f_datastamp = lambda x: datetime.fromtimestamp(x)

ValueError: year 49791 is out of range


シンプルな構文ですが、カラムを変換できず、困っております。
ご教授お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

おそらくミリ秒単位で記録されているのだと思います。
変換する前に1000で割ってみてください。2017年~2019年くらいのそれっぽい値になります。

python

1import datetime 2 3data = ''' 40 1509098775176 51 1509099219277 62 1509099259937 73 1509099272471 84 1509099323105 95 1509099570193 106 1509099637716 112259 1545305805203 122260 1545307885182 132261 1545308502331 142263 1545308955768 152264 1545310150733 162265 1545311744128 177672 1560663137071 187673 1560665462631 197675 1560668732834 207676 1560669543092 217677 1560670339184 227678 1560671074129 237679 1560671365010 2413969 1572966043371 2513994 1573048480366 2613995 1573049594544 2713996 1573049757892 2813997 1573050770203 2913998 1573051038398''' 30 31 32for x in data.split('\n')[1:]: 33 seq, ts = map(int, x.split()) 34 print(f'{seq:>5}: {datetime.datetime.fromtimestamp(ts / 10 ** 3)}')

出力結果

text

1 0: 2017-10-27 19:06:15.176000 2 1: 2017-10-27 19:13:39.277000 3 2: 2017-10-27 19:14:19.937000 4 3: 2017-10-27 19:14:32.471000 5 4: 2017-10-27 19:15:23.105000 6 5: 2017-10-27 19:19:30.193000 7 6: 2017-10-27 19:20:37.716000 8 2259: 2018-12-20 20:36:45.203000 9 2260: 2018-12-20 21:11:25.182000 10 2261: 2018-12-20 21:21:42.331000 11 2263: 2018-12-20 21:29:15.768000 12 2264: 2018-12-20 21:49:10.733000 13 2265: 2018-12-20 22:15:44.128000 14 7672: 2019-06-16 14:32:17.071000 15 7673: 2019-06-16 15:11:02.631000 16 7675: 2019-06-16 16:05:32.834000 17 7676: 2019-06-16 16:19:03.092000 18 7677: 2019-06-16 16:32:19.184000 19 7678: 2019-06-16 16:44:34.129000 20 7679: 2019-06-16 16:49:25.010000 2113969: 2019-11-06 00:00:43.371000 2213994: 2019-11-06 22:54:40.366000 2313995: 2019-11-06 23:13:14.544000 2413996: 2019-11-06 23:15:57.892000 2513997: 2019-11-06 23:32:50.203000 2613998: 2019-11-06 23:37:18.398000

投稿2019/11/11 10:03

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ValueError: year 49791 is out of range

年が49791になってしまってるというエラーです

元データはどうなってるんでしょうか

投稿2019/11/11 07:04

y_waiwai

総合スコア87749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/11/11 07:16

y_waiwai様 ご回答いただきありがとうございます。 元カラム(UNIX タイムスタンプ 13桁)が1万行を越えるため year 49791の検索方法がわかりません。 ご教授いただくことはできますしょうか。 何卒よろしくお願いします。
y_waiwai

2019/11/11 07:21

元データわからない、読むコードも提示がない、ではどうしようもないです
退会済みユーザー

退会済みユーザー

2019/11/11 07:42

y_waiwai様 大変失礼いたしました。 元データを添付いたしました。 一度ご確認いただけますでしょうか? 何卒よろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問