1
に各グループでの値にベースを与える「私は列に基づいて新しい列を持つようにしたい新しい列を定義するとPython
a b c
e1 21 99
e1 21 99
e2 22 99
e3 23 99
e1 23 99
e3 24 99
e4 27 99
e1 25 99
e2 29 99
e4 22 99
e2 23 99
次のデータセットを考えてみましょう』:
私は、彼らが同じグループに属している場合は、新しい列Dを追加し、同じ値を与える必要があります。 私は、各グループで自分のデータをフィルタリングし、各グループに同じ値を設定する方法がわからない。 ここa b c d
e_11 21 99 1
e_11 21 99 1
e_21 22 99 2
e_31 23 99 3
e_11 23 99 1
e_31 24 99 3
e_41 27 99 4
e_11 25 99 1
e_21 29 99 2
e_41 22 99 4
e_21 23 99 2
されます私に正しい答えを与えないコード:
一度であなたの要件の両方を持っているi=0
e=[]
for name in df.groupby('a'):
for j in range(len(name)):
e.append(i)
i++
df['d'] = pd.Series(e)
print(df)
https://stackoverflow.com/questions/47703634/pandas-group-by-and-assign-a-group-id-then-ungroup/47703735#47703735、これを達成するための複数の方法 – Wen