Pandas の DataFrame からランダムな行を選択する方法はありますか。
some(x, n)
R では、car パッケージを使用すると、 head に似ていますが、この例では x からランダムに 10 行を選択する便利な関数があります。
スライスのドキュメントも確認しましたが、同等のものはないようです。
アップデート
現在バージョン20を使用しています。サンプルメソッドがあります。
df.sample(n)
ベストアンサー1
パンダバージョン0.16.1
以降では、DataFrame.sample
メソッド組み込み:
import pandas
df = pandas.DataFrame(pandas.np.random.random(100))
# Randomly sample 70% of your dataframe
df_percent = df.sample(frac=0.7)
# Randomly sample 7 elements from your dataframe
df_elements = df.sample(n=7)
上記のどちらのアプローチでも、次の操作を実行することで残りの行を取得できます。
df_rest = df.loc[~df.index.isin(df_percent.index)]
のコメントに従ってPedram
、再現可能なサンプルを取得したい場合は、random_state
パラメータを渡します。
df_percent = df.sample(frac=0.7, random_state=42)