在for循环中添加Pandas列值?

时间:2017-02-06 18:26:36

标签: python pandas

我有以下Python代码(不是100%完成):

labels = []
for i in range(0, len(test)):
    name = test.iloc[i]['name']
    s = name.split('.')
    label_name = s[0]
    label = label_names.index(label_name)
    id = int(s[1])
    labels.append(label)
test['label'] = labels

最后一个语句生成" A值正在尝试在DataFrame的切片副本上设置。"警告。

是否有更好的方法来创建新列'标签'在数据框中?

1 个答案:

答案 0 :(得分:0)

def my_function(input):
   name = input
   s = name.split('.')
   label_name = s[0]
   label = label_names.index(label_name)
   id = int(s[1])

   return label

test['label'] = test['name'].apply(lambda x: my_function(x))