Python 熊猫:具有另一列唯一值索引的新列
我的数据帧:Python 熊猫:具有另一列唯一值索引的新列,python,pandas,dataframe,Python,Pandas,Dataframe,我的数据帧: ID Name_Identify ColumnA ColumnB ColumnC 1 POM-OPP D43 D03 D59 2 MIAN-ERP D80 D74 E34 3 POM-OPP E97 B56 A01 4 POM-OPP A66 D04 C34 5
ID Name_Identify ColumnA ColumnB ColumnC
1 POM-OPP D43 D03 D59
2 MIAN-ERP D80 D74 E34
3 POM-OPP E97 B56 A01
4 POM-OPP A66 D04 C34
5 DONP28 B55 A42 A80
6 MIAN-ERP E97 D59 C34
ID Name_Identify ColumnA ColumnB ColumnC NEW_ID
1 POM-OPP D43 D03 D59 1
2 MIAN-ERP D80 D74 E34 2
3 POM-OPP E97 B56 A01 1
4 POM-OPP A66 D04 C34 1
5 DONP28 B55 A42 A80 3
6 MIAN-ERP E97 D59 C34 2
预期的新数据帧:
ID Name_Identify ColumnA ColumnB ColumnC
1 POM-OPP D43 D03 D59
2 MIAN-ERP D80 D74 E34
3 POM-OPP E97 B56 A01
4 POM-OPP A66 D04 C34
5 DONP28 B55 A42 A80
6 MIAN-ERP E97 D59 C34
ID Name_Identify ColumnA ColumnB ColumnC NEW_ID
1 POM-OPP D43 D03 D59 1
2 MIAN-ERP D80 D74 E34 2
3 POM-OPP E97 B56 A01 1
4 POM-OPP A66 D04 C34 1
5 DONP28 B55 A42 A80 3
6 MIAN-ERP E97 D59 C34 2
您可以使用熊猫。分类:
您可以使用熊猫。分类:
您可以使用pandas.groupby:
印刷品:
ID Name_Identify ColumnA ColumnB ColumnC NEW_ID
0 1 POM-OPP D43 D03 D59 1
1 2 MIAN-ERP D80 D74 E34 2
2 3 POM-OPP E97 B56 A01 1
3 4 POM-OPP A66 D04 C34 1
4 5 DONP28 B55 A42 A80 3
5 6 MIAN-ERP E97 D59 C34 2
您可以使用pandas.groupby:
印刷品:
ID Name_Identify ColumnA ColumnB ColumnC NEW_ID
0 1 POM-OPP D43 D03 D59 1
1 2 MIAN-ERP D80 D74 E34 2
2 3 POM-OPP E97 B56 A01 1
3 4 POM-OPP A66 D04 C34 1
4 5 DONP28 B55 A42 A80 3
5 6 MIAN-ERP E97 D59 C34 2
解释如下:
在第一个命令中,我们从Name_Identify列中选择唯一的名称
然后根据它们的枚举序列创建字典枚举从1开始:
在第二个命令中,我们使用此字典创建一个新列,方法是将Name_identifie列中的所有名称转换为适当的数字:
解释如下:
在第一个命令中,我们从Name_Identify列中选择唯一的名称
然后根据它们的枚举序列创建字典枚举从1开始:
在第二个命令中,我们使用此字典创建一个新列,方法是将Name_identifie列中的所有名称转换为适当的数字:
哦,太谢谢你了太谢谢你了
In[23]: df.Name_Identify.unique()
array(['POM-OPP', 'MIAN-ERP', 'DONP28'], dtype=object)
In[24]: convert = {k: v for v, k in enumerate(df.Name_Identify.unique(), start=1)}
In[25]: convert
{'POM-OPP': 1, 'MIAN-ERP': 2, 'DONP28': 3}
In[26]: df["NEW_ID"] = df.Name_Identify.map(convert)
In[27]: df
D Name_Identify ColumnA ColumnB ColumnC NEW_ID
0 1 POM-OPP D43 D03 D59 1
1 2 MIAN-ERP D80 D74 E34 2
2 3 POM-OPP E97 B56 A01 1
3 4 POM-OPP A66 D04 C34 1
4 5 DONP28 B55 A42 A80 3
5 6 MIAN-ERP E97 D59 C34 2