私は文字列のリスト(ユニコード)を持っています。同様に:文字列のリストに対してstrptime()を使用します。ループを使用できません
>>> tstamp
[u'2017-08-08T08:51:20.465Z', u'2017-08-08T08:51:27.871Z', u'2017-08-08T08:51:33.399Z', u'2017-08-08T08:51:37.530Z', u'2017-08-08T08:51:47.248Z', u'2017-08-08T08:51:50.414Z', u'2017-08-08T08:51:54.707Z', u'2017-08-08T08:51:54.781Z']
この文字列のリストをdatetimeオブジェクトのリストに変換する必要があります。同様に:
>>> dtstamp
[datetime.datetime(2017, 8, 8, 8, 51, 20, 465000), datetime.datetime(2017, 8, 8, 8, 51, 27, 871000), datetime.datetime(2017, 8, 8, 8, 51, 33, 399000), datetime.datetime(2017, 8, 8, 8, 51, 37, 530000), datetime.datetime(2017, 8, 8, 8, 51, 47, 248000), datetime.datetime(2017, 8, 8, 8, 51, 50, 414000), datetime.datetime(2017, 8, 8, 8, 51, 54, 707000), datetime.datetime(2017, 8, 8, 8, 51, 54, 781000)]
私が持っている解決策は非常に粗末なものです。ループを使用することなくこの変換を行うことを検討しています。変換の速度は非常に重要です。これまでのコードは、これまで通りです。
dtstamp = [0]*len(tstamp)
for i in range(0,len(tstamp)):
dtstamp[i] = datetime.datetime.strptime(tstamp[i], '%Y-%m-%dT%H:%M:%S.%fZ')
私はしたいことはしますが、遅くなります。私はこれを試してみることを考えましたが、うまくいきません。
dtstamp = datetime.datetime.strptime(tstamp, '%Y-%m-%dT%H:%M:%S.%fZ')
誰でも正しい方向に向けることができますか?
ありがとうございます!
ループを使用せずにリスト内のアイテムをどのように実行しますか?鮮明な 'map'でも、シーンの背後に* loop *する必要があります。 –
リストはどのくらいですか?それをPandasシリーズに変換するのは価値があります。 – roganjosh
リスト内包表記についてどう思いますか? – Stael