Я пытаюсь assign
unique
значения из pandas
df
в группах 3
.Для df
ниже у меня есть Column
значений, которые появляются несколько раз.Я рассчитываю, сколько из этих значений в настоящее время встречается .То есть, если они появляются снова, они считаются на .
Если появляется новое значение, оно увеличивает количество включенных значений.Если значение не появляется снова, это уменьшает количество включенных значений.
Это моя попытка ниже.Я могу получить его в группе в три.Но он не учитывает значения unique
.
import pandas as pd
import numpy as np
d = ({
'Place' : ['House 1','House 2','House 3','House 4','House 1','House 2','House 3','House 4'],#,'House 1','House 2']#,'House 4','House 5','House 6','House 7'],
'On' : [1,2,3,4,4,3,2,1],
})
df = pd.DataFrame(data=d)
df["Ind"] = np.ceil(df["On"]/3)
Output:
Place On P
0 House 1 1 1.0
1 House 2 2 1.0
2 House 3 3 1.0
3 House 4 4 2.0
4 House 1 4 2.0
5 House 2 3 1.0
6 House 3 2 1.0
7 House 4 1 1.0
Предполагаемый результат:
Place On P
0 House 1 1 1.0
1 House 2 2 1.0
2 House 3 3 1.0
3 House 4 4 2.0
4 House 1 4 1.0
5 House 2 3 1.0
6 House 3 2 1.0
7 House 4 1 1.0
Описание:
Разница в Index 4
.Houses 1
следует присвоить 1
, поскольку они изначально были назначены для этого integer
.
Описание для On
Столбец:
Index 0: House 1 is inserted and it appears again = 1
Index 1: House 2 is inserted and it appears again = 2
Index 2: House 3 is inserted and it appears again = 3
Index 3: House 4 is inserted and it appears again = 4
Index 4: House 1 doesn't appear again so it will decrease number of values on on the next row = 4
Index 5: House 2 doesn't appear again so it will decrease number of values on = 3
Index 6: House 3 doesn't appear again so it will decrease number of values on = 2
Index 7: House 4 doesn't appear again so it will decrease number of values on = 1