データセットに20の列があり、入力として19を使用したいとします。入力列は1:10と12:20の列です。11番目の列を出力として使用します。パンダを使ってこのような範囲を与える方法は?例えばパンダで複数の列範囲をスライス
は、それが4列を持つデータの上に考えるが、私は入力にのみ3列を取るために持っていますが、これらの列はB、D、Eをしていると私はC列をスキップしたいです。今すぐ私は 入力= dftrain.loc [:, : 'e'] すべての4つの列を使用しています。
データセットに20の列があり、入力として19を使用したいとします。入力列は1:10と12:20の列です。11番目の列を出力として使用します。パンダを使ってこのような範囲を与える方法は?例えばパンダで複数の列範囲をスライス
は、それが4列を持つデータの上に考えるが、私は入力にのみ3列を取るために持っていますが、これらの列はB、D、Eをしていると私はC列をスキップしたいです。今すぐ私は 入力= dftrain.loc [:, : 'e'] すべての4つの列を使用しています。
オプション1
np.r_
idx = np.r_[0:11, 12:20]
idx
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17,
18, 19])
パスこのiloc
に -
df.iloc[:, 11] = df.iloc[:, idx].sum(axis=1) # sum, for example
オプション2
pd.IndexSlice
idx = pd.IndexSlice[0:11, 12:20]
idx
(slice(0, 11, None), slice(12, 20, None))
idx
は、前と同じ方法で使用できます。
ありがとうございました!オプション1は私の場合にはうまくいきます – vineagle
列名と問題によって解決策を提案できるように、コードを貼り付けてください。 – Sam