pandasデータフレームから2つの列を減算することによって生成されたシリーズデータ型があります。
Rのx[-1]
になるシリーズから最初の要素を削除したいのですが、np配列クラスで機能させることができますが、シリーズクラスは機能しません。
integer
ベースのスライスの使用は機能するはずです ---(ドキュメントを参照 ):
s.iloc[1:]
drop
ではなくslice
を使用したい場合は、組み込みのdrop
メソッドを使用できます。
s.drop(s.index[0])
複数のアイテムを削除するには、list
of index
の位置を含めます。
s.drop(s.index[[0, 2, 4]])
またはslice
:
s.drop(s.index[1: 4])
Pythonには、Rのようにポジションを切り出す方法がありません。最初または最後の要素のみを削除する必要がある場合、以前に投稿されたソリューション:s.iloc[1:]
はおそらく最高です。複数の要素、またはシリーズの途中の要素を削除する必要がある場合は、以下を使用して削除できます。
In [29]: x = pd.Series(np.random.randn(10))
In [34]: x[~x.index.isin([0, 3, 4])]
Out[34]: 1 0.884089
2 0.921271
5 -0.847967
6 -0.088892
7 -0.765241
8 -0.084489
9 -0.581152
dtype: float64
この場合、0、3、4の位置を削除しました。
これは少し面倒なので、前の解決策が必要なものに最適かもしれないと私が言ったように、これはいくつかの追加機能を持っています。
このソリューションは、インデックスが数値であり、0から始まる連続している場合にのみ機能することに注意してください。