質問するログイン新規登録

回答編集履歴

2

補足を追加

2018/08/22 02:58

投稿

magichan
magichan

スコア15898

answer CHANGED
@@ -6,4 +6,16 @@
6
6
 
7
7
 
8
8
  > ``to_datetime`` が動作しないのは Indexが "float型"として扱われているのが原因かと思われます
9
- その場合``to_datetime()``ではUNIX時間として扱われ、更にデフォルトで 単位が'ns'となりますので質問のような結果となります。
9
+ その場合``to_datetime()``ではUNIX時間として扱われ、更にデフォルトで 単位が'ns'となりますので質問のような結果となります。
10
+
11
+ ---
12
+
13
+ **【補足】**
14
+
15
+ うまくいかないのであれば、データの形式にあわせて parser を記述するとよいと思います。
16
+
17
+ (例)DATE行の少数点以下が全て '.0' なのであれば
18
+ ```Python
19
+ my_parser = lambda d: pd.datetime.strptime(d, '%Y%m%d.0')
20
+ df = pd.read_csv('test.csv', index_col=0, parse_dates=[0], date_parser=my_parser, encoding='shift-jis')
21
+ ```

1

補足を追加

2018/08/22 02:58

投稿

magichan
magichan

スコア15898

answer CHANGED
@@ -2,4 +2,8 @@
2
2
  ```Python
3
3
  df = pd.read_csv('test.csv', index_col=0, parse_dates=[0], encoding='shift-jis')
4
4
  ```
5
- とする事でDatetimeIndexとして読み込めませんでしょうか
5
+ とする事でDatetimeIndexとして読み込めませんでしょうか
6
+
7
+
8
+ > ``to_datetime`` が動作しないのは Indexが "float型"として扱われているのが原因かと思われます
9
+ その場合``to_datetime()``ではUNIX時間として扱われ、更にデフォルトで 単位が'ns'となりますので質問のような結果となります。