回答編集履歴

3

numpy を使う例を追記

2018/09/16 08:22

投稿

katoy
katoy

スコア22324

test CHANGED
@@ -87,3 +87,65 @@
87
87
  実行結果
88
88
 
89
89
  ![イメージ説明](01fecdb2f2e84b663faf87ddb4d46f76.png)
90
+
91
+
92
+
93
+ 追記:
94
+
95
+ numpy を import して、 arraym nan をつかったデータにして、処理をしました。
96
+
97
+ nam かどうかの判定は isnan() を使います。
98
+
99
+ 参考:
100
+
101
+ [nanの入れ替えをしたい](https://teratail.com/questions/92557)
102
+
103
+ [noneとnumpy.nanの違い](http://shiriases.hatenablog.com/entry/2017/12/10/170605)
104
+
105
+
106
+
107
+ ```python3
108
+
109
+ import numpy as np
110
+
111
+ import pprint
112
+
113
+
114
+
115
+ pp = pprint.PrettyPrinter(width=60, compact=True)
116
+
117
+
118
+
119
+ data = np.array([
120
+
121
+ [ 0., 25., 50., 75., 100.],
122
+
123
+ [ 0., np.nan, np.nan, np.nan, np.nan],
124
+
125
+ [ 0., 30., 60., 90., np.nan],
126
+
127
+ [ 0., 150., 235., np.nan, np.nan]
128
+
129
+ ])
130
+
131
+
132
+
133
+ pp.pprint(data)
134
+
135
+ print()
136
+
137
+
138
+
139
+ print()
140
+
141
+ datax_dic = { "variablle{}".format(i + 1): [x for x in row if not np.isnan(x)]
142
+
143
+ for i, row in enumerate(data)}
144
+
145
+ pp.pprint(datax_dic)
146
+
147
+ ```
148
+
149
+ 実行例
150
+
151
+ ![イメージ説明](f51c63d2b2ac26d3bf6389aacc3dd8c4.png)

2

追記

2018/09/16 08:22

投稿

katoy
katoy

スコア22324

test CHANGED
@@ -35,3 +35,55 @@
35
35
  実行例:
36
36
 
37
37
  ![イメージ説明](ca06293e616857ae22f00ec5bc20c753.png)
38
+
39
+
40
+
41
+ 追記:
42
+
43
+ 結果を list でなく、 dict にしました。
44
+
45
+ [pprint](https://docs.python.jp/3/library/pprint.html) をつかって整形して表示するようにしました。
46
+
47
+ ```python3
48
+
49
+ import pprint
50
+
51
+
52
+
53
+ pp = pprint.PrettyPrinter(width=60, compact=True)
54
+
55
+
56
+
57
+ data = [
58
+
59
+ [ 0., 25., 50., 75., 100.],
60
+
61
+ [ 0., None, None, None, None],
62
+
63
+ [ 0., 30., 60., 90., None],
64
+
65
+ [ 0., 150., 235., None, None]
66
+
67
+ ]
68
+
69
+
70
+
71
+ pp.pprint(data)
72
+
73
+ print()
74
+
75
+
76
+
77
+ print()
78
+
79
+ datax_dic = { "variablle{}".format(i + 1): [x for x in row if x is not None]
80
+
81
+ for i, row in enumerate(data)}
82
+
83
+ pp.pprint(datax_dic)
84
+
85
+ ```
86
+
87
+ 実行結果
88
+
89
+ ![イメージ説明](01fecdb2f2e84b663faf87ddb4d46f76.png)

1

修正

2018/09/16 00:43

投稿

katoy
katoy

スコア22324

test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
 
26
26
 
27
- datax = [ ["variablle{}".format(i), [x for x in row if x is not None]] for i, row in enumerate(data)]
27
+ datax = [ ["variablle{}".format(i + 1), [x for x in row if x is not None]] for i, row in enumerate(data)]
28
28
 
29
29
  print(datax)
30
30
 
@@ -34,4 +34,4 @@
34
34
 
35
35
  実行例:
36
36
 
37
- ![イメージ説明](cc5e10ee66cb76bcd9d6d12163ba1f70.png)
37
+ ![イメージ説明](ca06293e616857ae22f00ec5bc20c753.png)