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

回答編集履歴

2

補足追加

2020/03/26 00:05

投稿

magichan
magichan

スコア15898

answer CHANGED
@@ -46,4 +46,14 @@
46
46
  #2 2020-03-03T00:00:00+09:00 3
47
47
  #3 2020-03-04T00:00:00+09:00 4
48
48
  #4 2020-03-05T00:00:00+09:00 5
49
+ ```
50
+
51
+ ---
52
+ **【更に追記】**
53
+ タイムゾーンの設定はこちらの方法でもいけた(1行の短縮)
54
+
55
+ ```Python
56
+ df = pd.read_csv(io.StringIO(data), parse_dates=['date'])
57
+ # tzを設定してdate列をISO8601拡張表記の文字列に変換
58
+ df['date'] = df['date'].apply(lambda d: pd.Timestamp(d, tz='Asia/Tokyo').isoformat())
49
59
  ```

1

回答が間違っていたので修正

2020/03/26 00:05

投稿

magichan
magichan

スコア15898

answer CHANGED
@@ -1,4 +1,4 @@
1
- ```
1
+ ```Python
2
2
  import pandas as pd
3
3
  import io
4
4
 
@@ -24,4 +24,26 @@
24
24
  #2 2020-03-03T00:00:00+0900 3
25
25
  #3 2020-03-04T00:00:00+0900 4
26
26
  #4 2020-03-05T00:00:00+0900 5
27
+ ```
28
+
29
+ ---
30
+ **【追記】**
31
+
32
+ あっゴメン。`Timestamp.isoformat()` を使いたいのですね。
33
+ であれば、
34
+
35
+ ```Python
36
+ df = pd.read_csv(io.StringIO(data), parse_dates=['date'])
37
+ # date列にタイムゾーンを設定
38
+ df['date'] = df['date'].dt.tz_localize('Asia/Tokyo')
39
+ # date列をISO8601拡張表記の文字列に変換
40
+ df['date'] = df['date'].apply(lambda d: pd.Timestamp(d).isoformat())
41
+
42
+ print(df)
43
+ # date value
44
+ #0 2020-03-01T00:00:00+09:00 1
45
+ #1 2020-03-02T00:00:00+09:00 2
46
+ #2 2020-03-03T00:00:00+09:00 3
47
+ #3 2020-03-04T00:00:00+09:00 4
48
+ #4 2020-03-05T00:00:00+09:00 5
27
49
  ```