回答編集履歴

1

問題が変わったので変更

2021/04/07 09:18

投稿

ppaul
ppaul

スコア24672

test CHANGED
@@ -1,3 +1,117 @@
1
+ ###### 実現したいことは、nanがランダムに含まれるデータフレームの数値を上から詰めていき、最後に、すべての列がnanとなっている行を削除したいです。
2
+
3
+
4
+
5
+ そういうのを最初に書いてくれればとても簡単です。
6
+
7
+
8
+
9
+ ```python
10
+
11
+ >>> print(count_res)
12
+
13
+ a1 b1 c1 d1
14
+
15
+ 0 5.384058 0.026853 0.076923 2.716981
16
+
17
+ 1 1.507645 NaN 1.945513 3.923077
18
+
19
+ 2 0.177189 0.435654 2.516245 0.294964
20
+
21
+ 3 47.000000 1.015123 0.104000 0.018237
22
+
23
+ 4 NaN NaN 1.258297 0.932941
24
+
25
+ 5 0.081967 NaN 0.045249 0.501319
26
+
27
+ 6 0.805804 5.803681 0.083333 0.443567
28
+
29
+ 7 1.565878 NaN 0.610422 NaN
30
+
31
+ 8 NaN 2.991228 NaN NaN
32
+
33
+ 9 NaN 0.465946 0.457447 0.632156
34
+
35
+ 10 2.848485 2.640625 0.626437 0.607256
36
+
37
+ 11 NaN 0.626437 NaN 1.708333
38
+
39
+ 12 0.662539 0.076923 1.446903 2.848485
40
+
41
+ 13 1.760814 0.457447 1.824497 0.960552
42
+
43
+ 14 3.505682 0.276029 0.717063 0.753906
44
+
45
+ 15 0.646630 0.304942 NaN 4.103226
46
+
47
+ 16 1.762832 1.921788 1.762832 NaN
48
+
49
+ 17 0.741304 2.336323 0.465946 0.617564
50
+
51
+ 18 4.420000 0.255647 0.443567 1.582996
52
+
53
+ 19 0.071301 NaN 0.805804 2.336323
54
+
55
+ >>> temp = count_res.copy()
56
+
57
+ >>> temp[temp.columns] =float("NaN")
58
+
59
+ >>> for column in count_res.columns:
60
+
61
+ ... temp[column] = count_res[column].dropna().reset_index(drop=True)
62
+
63
+ ...
64
+
65
+ >>> result = temp.dropna(how='all')
66
+
67
+ >>> print(result)
68
+
69
+ a1 b1 c1 d1
70
+
71
+ 0 5.384058 0.026853 0.076923 2.716981
72
+
73
+ 1 1.507645 0.435654 1.945513 3.923077
74
+
75
+ 2 0.177189 1.015123 2.516245 0.294964
76
+
77
+ 3 47.000000 5.803681 0.104000 0.018237
78
+
79
+ 4 0.081967 2.991228 1.258297 0.932941
80
+
81
+ 5 0.805804 0.465946 0.045249 0.501319
82
+
83
+ 6 1.565878 2.640625 0.083333 0.443567
84
+
85
+ 7 2.848485 0.626437 0.610422 0.632156
86
+
87
+ 8 0.662539 0.076923 0.457447 0.607256
88
+
89
+ 9 1.760814 0.457447 0.626437 1.708333
90
+
91
+ 10 3.505682 0.276029 1.446903 2.848485
92
+
93
+ 11 0.646630 0.304942 1.824497 0.960552
94
+
95
+ 12 1.762832 1.921788 0.717063 0.753906
96
+
97
+ 13 0.741304 2.336323 1.762832 4.103226
98
+
99
+ 14 4.420000 0.255647 0.465946 0.617564
100
+
101
+ 15 0.071301 NaN 0.443567 1.582996
102
+
103
+ 16 NaN NaN 0.805804 2.336323
104
+
105
+ ```
106
+
107
+ でいいですか。
108
+
109
+
110
+
111
+ ###### 問題が変わってしまったので、以下は無視してください。
112
+
113
+
114
+
1
115
  TheBullchannelさんがやりたいこととpandasのソートに仕様が違っています。
2
116
 
3
117