成千上万的值需要用更简单的命名格式来代替。例如,原始数据帧的命名是AB5648、CD5678、EF5468等,需要根据我创建的对应表用HH_1、HH_2、HH_3等替换。 对应表包括要替换和要替换的值
Original file = df_temp
Filename = 'HH_number_Old.csv'
Filename = 'HH_number_New.csv'
Old New
AB1321 HH_1
CD5678 HH_2
EF5468 HH_3
EF5468 HH_3
EF5438 HH_4
EF5368 HH_5
EF5068 HH_6
EF5468 HH_7
EF5458 HH_8
EF5168 HH_9
..... .....
XZ5465 HH_3000
我试过了
for i in range (3000):
print(HH_number_old[i])
print(HH_number_new[i])
temp_fin = df_temp.replace({HH_contract[i], HH_no[i]}, inplace=True)
#temp_fin is the resultant dataframe with replaced values
Result = temp_fin file is empty.
当我尝试以下特定数量的[I]时,替换工作正常
temp_fin = df_temp.replace (HH_number_old[1], HH_number_new[1])
使用^{} :
或^{} :
编辑:
对于替换多个其他数据帧,请使用:
然后^{} 在另一个数据帧中:
我看到根据你的问题,
EF5468
被映射为HH_3
和HH_7
。我猜这个映射应该是唯一的(将其作为数据帧导入并使用字典理解应该创建唯一的键值对)您只需使用地图即可:
假设我正确地理解了您的问题(每个ID只出现一次),并且存在从旧ID到新ID的双射映射(即一对一和一对一)
相关问题 更多 >
编程相关推荐