どうd
があなたのdictで、以下のようなものについて:3回とキー0-2
を繰り返し、あなたのサンプルデータフレームからなるあなたのdictで
pd.concat((v[v.A.str[2:4] == '02'] for v in d.itervalues()))
d = dict(zip(range(3), [df]*3))
この結果は、
A B
2 10020001 5
3 10020002 11
4 10020003 2
2 10020001 5
3 10020002 11
4 10020003 2
2 10020001 5
3 10020002 11
4 10020003 2
これは、代わりにジェネレータ式を使用しているため、行のリストを作成したり、リストの内包表記を使用するよりも効率的で、より多くのメモリでなければなりません。また、(データ値が標準化されていると仮定して)直接インデックス作成のためにregexを使用するよりも速くなければなりません。
結合配列のインデックスが気に入らない場合は、常にreset_index()
となります。たとえば:
y = pd.concat((v[v.A.str[2:4] == '02'] for v in d.itervalues()))
y.reset_index.drop('index', axis=1)
A B
0 10020001 5
1 10020002 11
2 10020003 2
3 10020001 5
4 10020002 11
5 10020003 2
6 10020001 5
7 10020002 11
8 10020003 2
ここでディクテーションキーにはどのような役割がありますか? – wflynny
いいえ、そうではありません。現在のところ、これらのデータフレームは「n」個のデータフレームを表しますが、このタスクの最後には「選択済み」データフレームが1つだけあります。 – FaCoffee