如何在python&pandas中创建新列
问题描述:
我试图创建一个新列,而不是使用当前列的现有值,但使用新值。我继续并创建了一个函数来执行此操作,但是,我收到一个错误消息。我要的结果是每个市有IE浏览器= 1,SC = 2等如何在python&pandas中创建新列
def ET(ET):
return "ET" == 1
def TO(TO):
return "TO" == 2
def NY(NY):
return "NY" == 3
def SC(SC):
return "SC" == 4
def coded_municipality(row):
if row['coded_municipality'] == "ET" :
return 1
if row['coded_municipality'] == "NY" :
return 2
if row['coded_municipality'] == "SC" :
return 3
if row['coded_municipality'] == "TO" :
return 4
marriage_data['Code'] = marriage_data.apply(lambda row : coded_municipality(row),axis=1)
但是一个码数,我仍然得到一个错误说“coded_municipality”,“在指数发生0”
我做错了什么?
答
您可以使用地图。
d = {"ET": 1, "TO": 2, "NY": 3, "SC": 4}
marriage_data['Code'] = marriage_data['coded_municipality'].map(d)