2016-10-03 9 views
4

私はDataFrame.sample()を認識していますが、これをどのようにしてデータセットからサンプルを削除するには? (注:私の知る限り、これは交換とサンプリングとは関係ありません)パンダランダムサンプル除外

例えば、ここでは、私が達成したいものの本質あり、これは実際には動作しません。

len(df) # 1000 

df_subset = df.sample(300) 
len(df_subset) # 300 

df = df.remove(df_subset) 
len(df) # 700 

答えて

5

あなたの場合インデックスがユニークである

df = df.drop(df_subset.index) 

df = pd.DataFrame(np.arange(10).reshape(-1, 2)) 

サンプル

df_subset = df.sample(2) 
df_subset 

enter image description here


頭のドロップ

df.drop(df_subset.index) 

enter image description here

+0

はとにかくデータフレームを使用してのあります。 ** pop **、サンプルをドロップしますか? DataFrameのため。 ** pop **は一般に列をポップするために使用されます。最初にDFを転記すればどうなりますか? – MMF

+0

@MMF素晴らしいアイデア。はい、あなたは転置のちょうど仕事をして、それを行うことができます。あなたは私に他の何かを試してもらうように促しました。私が次の会合の前にそれを終えることができるなら、私はここに投稿します。 – piRSquared

+0

@MMFまた、 'pop'は単一の列名しか受け入れないようです。意味、私は倍数を簡単にポップすることはできません。 – piRSquared