100K
4行の行データがあります。列の1つに多くのNAN
値が含まれています。 NAN
の行と、NAN
の値の10行を削除したいとします。NAN値を超える特定の行を削除します
1
A
答えて
1
あなたはNaN
値の後に行をカウントされ、マスクでboolean indexing
を使用することができます。
df = pd.DataFrame(np.arange(120).reshape(30,4),columns=list('ABCD'))
df.ix[2:5,'A'] = np.nan
df.ix[20:23,'A'] = np.nan
print (df)
A B C D
0 0.0 1 2 3
1 4.0 5 6 7
2 NaN 9 10 11
3 NaN 13 14 15
4 NaN 17 18 19
5 NaN 21 22 23
6 24.0 25 26 27
7 28.0 29 30 31
8 32.0 33 34 35
9 36.0 37 38 39
10 40.0 41 42 43
11 44.0 45 46 47
12 48.0 49 50 51
13 52.0 53 54 55
14 56.0 57 58 59
15 60.0 61 62 63
16 64.0 65 66 67
17 68.0 69 70 71
18 72.0 73 74 75
19 76.0 77 78 79
20 NaN 81 82 83
21 NaN 85 86 87
22 NaN 89 90 91
23 NaN 93 94 95
24 96.0 97 98 99
25 100.0 101 102 103
26 104.0 105 106 107
27 108.0 109 110 111
28 112.0 113 114 115
29 116.0 117 118 119
a = df.A.notnull()
b = (a.cumsum()-a.cumsum().where(~a).ffill().fillna(0)).where(df.A.isnull().cumsum() != 0)
print (b)
0 NaN
1 NaN
2 0.0
3 0.0
4 0.0
5 0.0
6 1.0
7 2.0
8 3.0
9 4.0
10 5.0
11 6.0
12 7.0
13 8.0
14 9.0
15 10.0
16 11.0
17 12.0
18 13.0
19 14.0
20 0.0
21 0.0
22 0.0
23 0.0
24 1.0
25 2.0
26 3.0
27 4.0
28 5.0
29 6.0
Name: A, dtype: float64
#get rows without 5 below NaN and without NaN in column A
print (df[b > 5])
A B C D
11 44.0 45.0 46.0 47.0
12 48.0 49.0 50.0 51.0
13 52.0 53.0 54.0 55.0
14 56.0 57.0 58.0 59.0
15 60.0 61.0 62.0 63.0
16 64.0 65.0 66.0 67.0
17 68.0 69.0 70.0 71.0
18 72.0 73.0 74.0 75.0
19 76.0 77.0 78.0 79.0
29 116.0 117.0 118.0 119.0
1
借入jezraelのセットアップ
df = pd.DataFrame(np.arange(120).reshape(30,4),columns=list('ABCD'))
df.ix[2:5,'A'] = np.nan
df.ix[20:23,'A'] = np.nan
使用pd.concat
とany
# grab null rows
isnull = df.A.isnull()
# get subsequent 10 rows after null
mask = pd.concat([isnull.shift(i) for i in range(11)], axis=1).any(1)
# boolean mask
df[~mask]
+0
今私は確信していない...私は私たちが見たと思った... – piRSquared
+0
ありがとう、それは非常に、それは働く – Pramod
関連する問題
- 1. データフレーム内の 'NaN'値を削除する
- 2. Python:特定の列が空の行を削除する方法/ NaN?
- 3. Matlab GUIDE uitable NaN値を削除する
- 4. 特定の列を除いて> N NaNの列を削除する
- 5. 小文字が30%を超える行を削除する
- 6. 特定の値を超える要素をカウントする場合
- 7. 特定の列に特定の値を持つ行を削除する
- 8. 特定の長さを超える数字の最後の数字を削除します。
- 9. UNIX - 特定の行を削除する
- 10. BASH - 特定の行を削除する
- 11. pyqt5 textedit指定された行を超えて行が削除される
- 12. 特定の制限を超えるパターンを含むオブジェクトを削除するRのベクトルをループする
- 13. 特定のステータス値を持つ行(得意先)を削除します
- 14. 特定の列の値に基づいてセルの行を削除します
- 15. MySQLは特定のポイントまで行を削除します
- 16. anglejsを使用して特定の行の値を削除する方法
- 17. 特定の文字列を含む行を削除します。
- 18. このような行がなくなるまで、上限を超える行を削除します。
- 19. 特定の日時の値を持つpandasデータフレームの特定の行を削除します
- 20. パンダでデータフレーム内の特定の行を削除します
- 21. テキストファイルの特定の行を削除しますか?
- 22. 特定の行だけのcontentviewオブジェクトを削除しますか?
- 23. テキストファイルから特定の行を削除または削除する方法
- 24. 特定のセルの値に基づいて行を削除し、その特定の列のセルの下にある空の行を削除するマクロ
- 25. c#Datalist特定の行を削除します。
- 26. jquery、js jsp。 onclickは特定の行を削除します
- 27. MySQLは特定の行数を削除します
- 28. 特定の値を超えたヒストグラムの色付け
- 29. jQueryを使用して特定の行を削除する
- 30. Pandas Dataframeその値が変更されるまで特定の値を持つ行を削除します
あなたが上または下にと思いますか? – jezrael