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

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

新規登録して質問してみよう
ただいま回答率
85.48%
データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

Python

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

Q&A

解決済

1回答

305閲覧

データの1列をdatetime型に直したい

ttt_

総合スコア6

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

Python

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

0グッド

0クリップ

投稿2020/08/02 14:08

求める結果
下記のようなデータがdf['daily']にあり、このデータをdatetime型で'%Y/%m/%d'のように変換したいです。データは2013/06/01 ~ 2013/08/31の平日のみを抽出しています。

dfの型はpandas.core.frame.DataFrameで、df['daily']はpandas.core.series.Seriesとなっていました。

  • daily

   現状  →      求める形状
20130603 2013/06/03
20130604 2013/06/04
20130605 2013/06/05
20130606 2013/06/06
20130607 2013/06/07
20130610 2013/06/10
20130611 2013/06/11

試したこと

python

1df['daily'] = pd.to_datetime(df['daily'], format='%Y/%m/%d')

出力結果は「1970-01-01 00:00:00.020130603」のようになっており、異なる年月が出力されました。

もしわかる方がいらっしゃたら、力をお貸しください。
宜しくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

YYYYMMDD であれば、フォーマット指定子を指定しなくともそのまま変換できます。

import pandas as pd df = pd.DataFrame( { "daily": [ "20130603", "20130604", "20130605", "20130606", "20130607", "20130610", "20130611", ] } ) df["daily"] = pd.to_datetime(df["daily"]) print(df) # daily # 0 2013-06-03 # 1 2013-06-04 # 2 2013-06-05 # 3 2013-06-06 # 4 2013-06-07 # 5 2013-06-10 # 6 2013-06-11

YYYY/MM/DD という形式で表示したければ、文字列にする必要があります。
時刻型としての操作ができなくなったしまうため、表記にとくにこだわりがないのであれば、そのままにしておいたほうがいいと思います。

python

1df["daily"] = df["daily"].dt.strftime("%Y/%m/%d") 2print(df) 3# daily 4# 0 2013/06/03 5# 1 2013/06/04 6# 2 2013/06/05 7# 3 2013/06/06 8# 4 2013/06/07 9# 5 2013/06/10 10# 6 2013/06/11

投稿2020/08/02 14:17

編集2020/08/02 14:29
tiitoi

総合スコア21956

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問