首页 > 解决方案 > 在 python 数据框中创建索引查找

问题描述

![在此处输入图像描述][1]

要为“IMEI & IMSI”对创建索引,如下所示:

这就是我正在尝试的


import pandas as pd
import numpy as np
df1 = pd.readcsv('file.csv')
df1 = df1[['Imei','Imsi']]
df1 = df1.groupby(['Imei']).count()
df1 = df1.rename(columns = {'Imsi': 'Occurences'})
df1 = df1.sort_values(by=['Occurences'],ascending= False)
df1 = df1.reset_index()


我可以计算出现次数,但如何从 1 开始按顺序打印它们,如图所示

标签: pythonpandasnumpycsvlookup

解决方案


用于cumsum计算IMEI Indexgroupby_cumcount计算IMSI Index

# Setup
df = pd.DataFrame({'Imei': {0: 'A', 1: 'A', 2: 'B', 3: 'B', 4: 'C', 5: 'C', 6: 'C', 7: 'D', 8: 'E'}})

df['IMEI Index'] = df['Imei'].ne(df['Imei'].shift()).cumsum()
df['IMSI Index'] = df.groupby('Imei').cumcount().add(1)

输出:

>>> df
  Imei  IMEI Index  IMSI Index
0    A           1           1
1    A           1           2
2    B           2           1
3    B           2           2
4    C           3           1
5    C           3           2
6    C           3           3
7    D           4           1
8    E           5           1

推荐阅读