100,000 行のファイルがありpandas DataFrame
、それを 100 のセクションに分割し、各セクションに 1,000 行ずつ含めたいと考えています。
100 セクションのうちの 1 つだけから、特定のサイズ (例: 50 行) のランダム サンプルを抽出するにはどうすればよいですか? DF は、最初の 1000 行が最初のセクションから、次の 1000 行が別のセクションから、というように既に順序付けられています。
ベストアンサー1
あなたはsample
方法*:
In [11]: df = pd.DataFrame([[1, 2], [3, 4], [5, 6], [7, 8]], columns=["A", "B"])
In [12]: df.sample(2)
Out[12]:
A B
0 1 2
2 5 6
In [13]: df.sample(2)
Out[13]:
A B
3 7 8
0 1 2
*DataFrames セクションの 1 つ。
注: サンプル サイズが DataFrame のサイズより大きい場合は、置換サンプリングを行わない限りエラーが発生します。
In [14]: df.sample(5)
ValueError: Cannot take a larger sample than population when 'replace=False'
In [15]: df.sample(5, replace=True)
Out[15]:
A B
0 1 2
1 3 4
2 5 6
3 7 8
1 3 4