回答編集履歴

7

補足追記

2020/11/18 03:36

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -64,4 +64,4 @@
64
64
 
65
65
 
66
66
 
67
- 似たようなアプローチとしてDataFrameに新たに"valid"列を追加して、初期値はFalse、データ書き込み時にTrueにして、それを頼りに表示を切り替える、ということは可能です。しかし、nanを使ったアプローチの方がベターであると思いました。
67
+ 似たようなアプローチとしてDataFrameに新たに"valid"列を追加して、初期値はFalse、データ書き込み時にTrueにして、それを頼りに表示を切り替える、ということは可能です。しかし、データ書き込み時に処理を加える必要があること、余計なvalid列の初期化/削除などが煩雑であること、などから、nanを使ったアプローチの方がベターであると思いました。

6

補足追記

2020/11/18 03:36

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -61,3 +61,7 @@
61
61
  display(df.dropna()) # nanが1つでもある行は出力されない
62
62
 
63
63
  ```
64
+
65
+
66
+
67
+ 似たようなアプローチとしてDataFrameに新たに"valid"列を追加して、初期値はFalse、データ書き込み時にTrueにして、それを頼りに表示を切り替える、ということは可能です。しかし、nanを使ったアプローチの方がベターであると思いました。

5

一部修正

2020/11/18 03:34

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
 
34
34
 
35
- 既にindexがあり0が入っているデータフレームに対して、for文で順に値が入っていくにしたがって、値が入った行までを表示させたいという要望を確認しました。
35
+ 既にindexがあり初期値として0が入っているデータフレームに対して、for文で順に(0または0以外の)値が書き込まれていくにしたがって、値が書き込まれた行までを表示させたいという要望を確認しました。
36
36
 
37
37
 
38
38
 

4

一部修正

2020/11/18 03:31

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -40,9 +40,9 @@
40
40
 
41
41
 
42
42
 
43
- - データフレームとして初期値をnanにして0がまだ値が入っていないのか0という値が入ったのか区別できるようにする
43
+ - 0が、まだ値が入っていないのか、0という値が入ったのか、区別できるようにする。データフレームとして初期値をnanにすることでnanならまだ値が入っていないこと、0は0という値が入ったこと、と区別できる
44
44
 
45
- - 表示の際にnanが含まれている行は無視する
45
+ - 表示の際にnanが含まれている行は無視する
46
46
 
47
47
 
48
48
 

3

補足追記

2020/11/18 03:30

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -25,3 +25,39 @@
25
25
 
26
26
 
27
27
  ![使用結果例](eed3d3368a1c006b8e7f8c1ae186f035.png)
28
+
29
+
30
+
31
+ 追記
32
+
33
+
34
+
35
+ 既にindexがあり0が入っているデータフレームに対して、for文で順に値が入っていくにしたがって、値が入った行までを表示させたい、という要望を確認しました。
36
+
37
+
38
+
39
+ for文の中で個別に制御するのは応用がしにくいですので、以下方法をオススメします。
40
+
41
+
42
+
43
+ - データフレームとして初期値をnanにして、0がまだ値が入っていないのか0という値が入ったのか区別できるようにする
44
+
45
+ - 表示の際にnanが含まれている行は無視する
46
+
47
+
48
+
49
+ なお、pandasの仕様上、nanが含まれている列はfloatになりますので、整数表示や整数変換をしたい場合は、適宜astype(int)を加えてください。
50
+
51
+
52
+
53
+ ```Python
54
+
55
+ df = df.replace(0, pd.np.nan) # 0が入っている前提で0をnanに変換
56
+
57
+ for 繰り替え処理
58
+
59
+ dfの行に値を入れる処理
60
+
61
+ display(df.dropna()) # nanが1つでもある行は出力されない
62
+
63
+ ```

2

誤字の修正

2020/11/18 03:25

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- そのような時は、Jupyter限定ですがdisplay文をprint文代わりに使うことで、目的の表示が得られます。
5
+ そのような時は、Jupyter限定ですがdisplay文をprint文代わりに使うことで、目的の表示が得られます。
6
6
 
7
7
 
8
8
 

1

誤字の修正

2020/11/17 23:26

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -1,4 +1,4 @@
1
- 質問者様とのやりとりで、「JupyterにおけるDataFrameの表示形式を、コード実行中の任意の箇所で表示させたい」という意図という理解しました。print文だと表示が崩れてしまうためと思います。
1
+ 質問者様とのやりとりで、「JupyterにおけるDataFrameの表示形式を、コード実行中の任意の箇所で表示させたい」という意図と理解しました。print文だと表示が崩れてしまうためと思います。
2
2
 
3
3
 
4
4