如何在python&中创建一个新列大熊猫

时间:2017-04-11 19:21:35

标签: python-3.x pandas lambda

我正在尝试创建一个新列,而不是使用当前列的现有值,而是使用新值。我继续创建了一个函数来执行此操作,但是,我收到了一个错误。我想要的结果是每个市都有一个代码,即TO = 1,SC = 2等。

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'

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您可以使用地图。

with open('matrix.txt') as f:
  first_line = f.readline()