回答編集履歴

2

タイポを修正

2017/07/22 16:10

投稿

magichan
magichan

スコア15898

test CHANGED
@@ -64,6 +64,6 @@
64
64
 
65
65
  ``Pandas`` では列毎に``型``が決まるため、上記のように記述すると、
66
66
 
67
- ``datetime64``型のデータと``int64``型のデータが**同じ列**にいる為に、型``object``型に変換されてしまいます。ところが4行目(この時点では4列目)だけは``int64``型のデータが存在しない為、この行だけ``datetime64``型のままでデータが保存されることとなります。
67
+ ``datetime64``型のデータと``int64``型のデータが**同じ列**にいる為に、型``object``型に変換されてしまいます。ところが4行目(この時点では4列目)だけは``int64``型のデータが存在しない為、この行だけ``datetime64``型のままでデータが保存されることとなります。
68
68
 
69
69
 

1

補足を追加

2017/07/22 16:10

投稿

magichan
magichan

スコア15898

test CHANGED
@@ -35,3 +35,35 @@
35
35
  print(df)
36
36
 
37
37
  ```
38
+
39
+
40
+
41
+ ---
42
+
43
+ **【補足】**
44
+
45
+
46
+
47
+ 質問のように、4行目のみ型が違う原因は、``DataFrame`` 作成の際に
48
+
49
+ 一度
50
+
51
+
52
+
53
+ ```Python
54
+
55
+ df = pd.DataFrame([dates, prices], ['date', 'price'])
56
+
57
+ ```
58
+
59
+
60
+
61
+ とした後に、``T``で転置してためかと思います。
62
+
63
+
64
+
65
+ ``Pandas`` では列毎に``型``が決まるため、上記のように記述すると、
66
+
67
+ ``datetime64``型のデータと``int64``型のデータが**同じ列**にいる為に、型を``object``型に変換されてしまいます。ところが4行目(この時点では4列目)だけは``int64``型のデータが存在しない為、この行だけ``datetime64``型のままでデータが保存されることとなります。
68
+
69
+