teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コメントへの回答で、プログラム例を追加

2021/01/03 13:30

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  インデクスを指定してdropすれば普通に削除できています。
2
- 胃アkが参考になるでしょうか。
2
+ 以下が参考になるでしょうか。
3
3
 
4
4
  ```python
5
5
  >>> import numpy as np
@@ -29,4 +29,26 @@
29
29
  3 333846.685438
30
30
  5 650893.304559
31
31
  dtype: float64
32
- ```
32
+ ```
33
+ 元のQuitaのように日付をindexとしている場合は以下です。
34
+
35
+ ```python
36
+ import numpy as np
37
+ import pandas as pd
38
+ rand = np.random.RandomState(seed=20)
39
+ idx = pd.date_range(start='2020-12-25', end='2020-12-31', freq='D')
40
+ x = np.arange(len(idx))
41
+ y = 500000 \
42
+ + x ** 2 \
43
+ + np.sin(x/4) * 100000 \
44
+ + rand.randn(len(x)) * 100000 \
45
+ + rand.gamma(0.01, 1000000, len(x))
46
+
47
+ ts = pd.Series(y, index=idx)
48
+ print(ts)
49
+ ts.drop(ts.index[5], inplace=True)
50
+ print(ts)
51
+ ```
52
+ 削除したい行が何行目かはわかっているという前提です。
53
+ また、削除したい行が複数ある場合は、行が変化しないように下から順に削除してください。
54
+ dorpは遅い処理ですので、削除したい行が多い場合は、別に作ったDataFrameに必要な部分だけをコピーしたほうが高速になります。