質問編集履歴

1

写真じゃなくコードを書くこと

2019/06/27 04:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,12 @@
1
1
  string型をint型に直したところ、
2
2
 
3
3
  欠損値がなかったのに、欠損値が生成されてしまいました。
4
+
5
+ 最初のdftest_train[preds_name].isnull().any()ではFalseなのに、
6
+
7
+ データ成形後
8
+
9
+ 次のdftest_train[preds_name].isnull().any()ではTrueになっている(欠損値あり)
4
10
 
5
11
  なぜなのか、教えて頂けると幸いです。
6
12
 
@@ -8,8 +14,118 @@
8
14
 
9
15
 
10
16
 
11
- ![イメージ説明](65b061803f26bdf630cab29720bdecc2.png)
17
+ ```python
12
18
 
13
- ![イメージ説明](07fa2bb1f1a33468ea47186fa8480432.png)
19
+ print(df.shape)
14
20
 
21
+ print(dftest.shape)
22
+
23
+ print(df_train.shape)
24
+
25
+ print(dftest_train.shape)
26
+
27
+ print(df_train[preds_name].isnull().any())
28
+
29
+ print(dftest_train[preds_name].isnull().any())
30
+
31
+ ```
32
+
33
+ (6461, 157)
34
+
35
+ (4273, 157)
36
+
37
+ (6461, 157)
38
+
39
+ (4272, 157)
40
+
41
+ False
42
+
43
+ False
44
+
45
+ ```python
46
+
47
+ # 間違っているセル(2019/06/26)
48
+
49
+ if len(df_train.loc[:, :preds_name]) != 0:
50
+
51
+ # df_train用
52
+
53
+ # object型の要素をint, float型に変換する
54
+
55
+ # object型の要素を探す
56
+
57
+ factorize = []
58
+
59
+ for i, j in zip(df_train.columns, df_train.dtypes):
60
+
61
+ factorize.append(i)
62
+
63
+ # 0~要素数の種類の数を割り当てる
64
+
65
+ for i in factorize:
66
+
67
+ id_1, id_2 = df_train[i].factorize()
68
+
69
+ id_3 = pd.DataFrame({i: id_1})
70
+
71
+ df_train[i] = id_3
72
+
73
+ del factorize
74
+
75
+
76
+
77
+ if len(dftest_train.loc[:, :preds_name]) != 0:
78
+
79
+ # dftest_train用
80
+
81
+ # object型の要素をint, float型に変換する
82
+
83
+ # object型の要素を探す
84
+
85
+ factorize = []
86
+
87
+ for i, j in zip(dftest_train.columns, dftest_train.dtypes):
88
+
89
+ factorize.append(i)
90
+
91
+ # 0~要素数の種類の数を割り当てる
92
+
93
+ for i in factorize:
94
+
15
- ![イメージ説明](cdc857f0e1452bda2a23305173ac5ef0.png)
95
+ id_1, id_2 = dftest_train[i].factorize()
96
+
97
+ id_3 = pd.DataFrame({i: id_1})
98
+
99
+ dftest_train[i] = id_3
100
+
101
+ del factorize
102
+
103
+ print(df_train[preds_name].isnull().any())
104
+
105
+ print(dftest_train[preds_name].isnull().any())
106
+
107
+ print(len(df_train))
108
+
109
+ print(len(dftest_train))
110
+
111
+ print(len(df_test))
112
+
113
+ print(len(dftest_test))
114
+
115
+ print(df_train.loc[0, preds_name])
116
+
117
+ ```
118
+
119
+ False
120
+
121
+ True
122
+
123
+ 6461
124
+
125
+ 4272
126
+
127
+ 0
128
+
129
+ 1
130
+
131
+ 0