私は日付、IDを持つデータフレームを持っています - 私はそれぞれの日付とIDの組み合わせを取り出し、新しいデータフレームを作成する必要があります。すべてのペアの2つのリストのPython forループ
date id
2016-05-13 abc
2016-05-13 pqr
2016-05-14 abc
2016-05-14 pqr
ids = list(sorted(set(df['id'])))
Out: ['abc','pqr']
dates = list(sorted(set(df[df.id == ids[i]]['date'])))
Out: ['2016-05-13','2016-05-14']
for i in range(0,len(ids)):
df2 = df[(df.date == dates[i]) & (df.id == id[i])]
上記のコードは、相対インデックス値のみ(最初の日付、最初のID &第二日、第2のID)に対する出力(df2
)を得ているが、私はすべてのペアについての出力を必要とします。ループで何を変えるべきか教えてください。
itertoolsのリストが必要な場合は
は罰金の答えですが、このスニペットでも動作しません。 'df'のスライスを同じ変数' df2'に何度も何度も繰り返し割り当てます。 – piRSquared
@ piRSquared私が理解したところから、OPはおそらくさらなる処理の対象となるid/dateスライスの各ペアに対してそのようなスライスを生成したかったのです... – ewcz