我有一个如下数据框:
ItemNumber ItemName
264 400
264 420
264 400
264 420
264 420
513 508
513 508
513 400
513 400
513 126
513 126
在这里,我想查看特定ItemName
的频率。和ItemName
再次发生ItemNumber
的可能性。
我尝试使用groupby
函数,但使用以下方法无法获得所需的格式:
import numpy as np
import pandas as pd
ByItemName = df.groupby(['ItemName'])
我想要的输出:
ItemNumber ItemName ItemNameFrequency
264 400 2
264 420 3
513 508 2
513 400 2
513 126 2
答案 0 :(得分:1)
也许:
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)
输出:
ItemNumber ItemName ItemNameFrequency
0 264 400 2
1 264 420 3
2 513 126 2
3 513 400 2
4 513 508 2