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

回答編集履歴

2

再度修正

2021/09/05 00:03

投稿

ikapy
ikapy

スコア1167

answer CHANGED
@@ -1,20 +1,21 @@
1
1
  以下でいかがでしょうか。
2
2
  レスがあったので再度行ってみましたが、こちらではうまくいってます。
3
+ 固定長とのことですの再度修正しました。
3
4
  ```python
4
5
  In [1]: import pandas as pd
5
6
 
6
- In [2]: df3 = pd.DataFrame({'A': ['2019 1 1 0 0', '2019 2 2 1 2', '2019 12 31 23 59'],
7
+ In [2]: df3 = pd.DataFrame({'A': ['2019 1 1 0 0', '2019 2 2 1 2', '201912312359'],
7
8
  ...: 'B': [12, 22, 32],
8
9
  ...: 'C': [13, 23, 33]})
9
10
 
10
- In [3]: df3.dtypes
11
+ In [3]: df3.columns=["Time (GMT+9)", "有義波高 (H1/3) (m)", "最高波周期 (Tp) (s)"]
11
- Out[3]:
12
- A object
13
- B int64
14
- C int64
15
- dtype: object
16
12
 
13
+ In [4]: df3
14
+ Out[4]:
17
- In [4]: df3.columns=["Time (GMT+9)", "有義波高 (H1/3) (m)", "最高波周期 (Tp) (s)"]
15
+ Time (GMT+9) 有義波高 (H1/3) (m) 最高波周期 (Tp) (s)
16
+ 0 2019 1 1 0 0 12 13
17
+ 1 2019 2 2 1 2 22 23
18
+ 2 201912312359 32 33
18
19
 
19
20
  In [5]: df3.dtypes
20
21
  Out[5]:
@@ -23,29 +24,31 @@
23
24
  最高波周期 (Tp) (s) int64
24
25
  dtype: object
25
26
 
26
- In [6]: df3
27
- Out[6]:
28
- Time (GMT+9) 有義波高 (H1/3) (m) 最高波周期 (Tp) (s)
27
+ In [6]: df3["Time (GMT+9)"] = df3["Time (GMT+9)"].str.replace(' ', '0')
29
- 0 2019 1 1 0 0 12 13
30
- 1 2019 2 2 1 2 22 23
31
- 2 2019 12 31 23 59 32 33
32
28
 
29
+ In [7]: df3
30
+ Out[7]:
33
- In [7]: df3['Time (GMT+9)'] = pd.to_datetime(df3['Time (GMT+9)'], format="%Y %m %d %H %M")
31
+ Time (GMT+9) 有義波高 (H1/3) (m) 最高波周期 (Tp) (s)
32
+ 0 201901010000 12 13
33
+ 1 201902020102 22 23
34
+ 2 201912312359 32 33
34
35
 
36
+ In [8]: df3['Time (GMT+9)'] = pd.to_datetime(df3['Time (GMT+9)'], format="%Y%m%d%H%M")
37
+
35
- In [8]: df3
38
+ In [9]: df3
36
- Out[8]:
39
+ Out[9]:
37
40
  Time (GMT+9) 有義波高 (H1/3) (m) 最高波周期 (Tp) (s)
38
41
  0 2019-01-01 00:00:00 12 13
39
42
  1 2019-02-02 01:02:00 22 23
40
43
  2 2019-12-31 23:59:00 32 33
41
44
 
42
- In [9]: df3.dtypes
45
+ In [10]: df3.dtypes
43
- Out[9]:
46
+ Out[10]:
44
47
  Time (GMT+9) datetime64[ns]
45
48
  有義波高 (H1/3) (m) int64
46
49
  最高波周期 (Tp) (s) int64
47
50
  dtype: object
48
51
 
49
- In [10]:
52
+ In [11]:
50
53
 
51
54
  ```

1

修正

2021/09/05 00:03

投稿

ikapy
ikapy

スコア1167

answer CHANGED
@@ -1,13 +1,51 @@
1
- 以下でいかがでしょうか
1
+ 以下でいかがでしょうか
2
+ レスがあったので再度行ってみましたが、こちらではうまくいってます。
2
3
  ```python
3
- import pandas as pd
4
+ In [1]: import pandas as pd
4
5
 
5
- x = pd.DataFrame({'Time (GMT+9)': ['2019 1 1 0 0', '2019 2 2 3 4']})
6
+ In [2]: df3 = pd.DataFrame({'A': ['2019 1 1 0 0', '2019 2 2 1 2', '2019 12 31 23 59'],
7
+ ...: 'B': [12, 22, 32],
8
+ ...: 'C': [13, 23, 33]})
6
9
 
7
- pd.to_datetime(x['Time (GMT+9)'], format="%Y %m %d %H %M")
10
+ In [3]: df3.dtypes
11
+ Out[3]:
12
+ A object
13
+ B int64
14
+ C int64
15
+ dtype: object
8
16
 
9
- # 0 2019-01-01 00:00:00
10
- # 1 2019-02-02 03:04:00
11
- # Name: Time (GMT+9), dtype: datetime64[ns]
17
+ In [4]: df3.columns=["Time (GMT+9)", "有義波高 (H1/3) (m)", "最高波周期 (Tp) (s)"]
12
18
 
19
+ In [5]: df3.dtypes
20
+ Out[5]:
21
+ Time (GMT+9) object
22
+ 有義波高 (H1/3) (m) int64
23
+ 最高波周期 (Tp) (s) int64
24
+ dtype: object
25
+
26
+ In [6]: df3
27
+ Out[6]:
28
+ Time (GMT+9) 有義波高 (H1/3) (m) 最高波周期 (Tp) (s)
29
+ 0 2019 1 1 0 0 12 13
30
+ 1 2019 2 2 1 2 22 23
31
+ 2 2019 12 31 23 59 32 33
32
+
33
+ In [7]: df3['Time (GMT+9)'] = pd.to_datetime(df3['Time (GMT+9)'], format="%Y %m %d %H %M")
34
+
35
+ In [8]: df3
36
+ Out[8]:
37
+ Time (GMT+9) 有義波高 (H1/3) (m) 最高波周期 (Tp) (s)
38
+ 0 2019-01-01 00:00:00 12 13
39
+ 1 2019-02-02 01:02:00 22 23
40
+ 2 2019-12-31 23:59:00 32 33
41
+
42
+ In [9]: df3.dtypes
43
+ Out[9]:
44
+ Time (GMT+9) datetime64[ns]
45
+ 有義波高 (H1/3) (m) int64
46
+ 最高波周期 (Tp) (s) int64
47
+ dtype: object
48
+
49
+ In [10]:
50
+
13
51
  ```