python - 通过 Pandas.groupby().ngroup() 分组后如何通过 ID 取回组名
问题描述
我已按 ID 将我的数据分组到 pandas
df['cityID']=df.groupby(['city']).ngroup()
df =
names city cityID
ali Islamabad 0
john lahore 1
aslam Islamabad 0
khan Peshawar 2
umair lahore 1
df2 =
cityID city
2 ?
1 ?
2 ?
2 ?
0 ?
1 ?
1 ?
2 ?
1 ?
0 ?
2 ?
0 ?
经过计算后,我得到了城市 ID,我想使用 python 将它们转换回熊猫中的城市名称。使用 cityID 填充
解决方案
如果我理解正确,您想根据其他列检索列值:
print(df.loc[df['cityID'] == 1, 'city'].iloc[0])
但是,如果您想要根据字典为列分配值:
d = {0: 'Islamabad', 1: 'lahore', 2: 'Peshawar'}
df["New_col"] = df["cityID"].apply(lambda x: d.get(x))
推荐阅读
- ios - 在基本折线图工具提示中添加额外数据。
- c# - 将 uint 从 c 移植到 c#
- javascript - 在 Javascript 中打开电子邮件客户端时捕获 URL
- swift - 执行 geocodeAddressString 两次(计算两个 CLLocations 之间的距离) - Swift 4
- java - 将点添加到 PDF Android
- sql - 为什么 >= '5/1/2018' 和 <= '5/1/2018' 的 SQL 查询只返回 2018-05-01 00:00:00 的行?
- angular - 打字稿错误:类型 {...} 不可分配给类型“用户 []”
- javascript -
返回没有任何标签的字符串 - php - Laravel 集合确定是否存在多对多关系
- git - 项目历史大小推送错误。该怎么办?