0

I have a dataframe like below:

ItemNumber ItemName 
264         400
264         420
264         400
264         420
264         420
513         508
513         508
513         400
513         400
513         126
513         126

here i would like to see frequency of particular ItemName. and probability of reoccurring an ItemName with respect to ItemNumber.

I have tried using groupby function but I'm not getting the desired format using approach below:

import numpy as np
import pandas as pd

ByItemName = df.groupby(['ItemName'])

My desired output:

ItemNumber ItemName ItemNameFrequency
264        400      2
264        420      3
513        508      2
513        400      2
513        126      2
DirtyBit
  • 16,613
  • 4
  • 34
  • 55

1 Answers1

1

Perhaps:

import pandas as pd
df = pd.DataFrame({'ItemNumber' : ['264', '264', '264', '264','264','513','513','513','513', '513','513'], 'ItemName' : ['400','420','400','420','420','508','508','400','400', '126','126']})
df = df.groupby(['ItemNumber', 'ItemName']).size().reset_index(name = 'ItemNameFrequency')
print(df)

OUTPUT:

  ItemNumber ItemName  ItemNameFrequency
0        264      400                  2
1        264      420                  3
2        513      126                  2
3        513      400                  2
4        513      508                  2
DirtyBit
  • 16,613
  • 4
  • 34
  • 55