2017回答-パンダ0.20:.ixは非推奨になりました。.locを使用
ドキュメントの非推奨を参照してください
.loc
ラベルベースのインデックスを使用して、行と列の両方を選択します。ラベルは、インデックスまたは列の値です。でスライスすると.loc
、最後の要素が含まれます。
我々は、次の列を持つデータフレームを持っていると仮定しましょう:
foo
、bar
、quz
、ant
、cat
、sat
、dat
。
# selects all rows and all columns beginning at 'foo' up to and including 'sat'
df.loc[:, 'foo':'sat']
# foo bar quz ant cat sat
.loc
Pythonリストが行と列の両方に対して行うのと同じスライス表記を受け入れます。スライス表記ありstart:stop:step
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat
# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar
# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat
# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned
# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar
# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat
# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
行と列でスライスできます。たとえば、あなたがラベルに5行を持っている場合はv
、w
、x
、y
、z
# slice from 'w' to 'y' and 'foo' to 'ant' by 3
df.loc['w':'y', 'foo':'ant':3]
# foo ant
# w
# x
# y
df[5:10]
行を選択するために追加されました(pandas.pydata.org/pandas-docs/stable/...)