在应用函数中获取第一个列表元素 Pandas

Get first list element in apply function Pandas

我有一个函数 preprocess_names 可以拆分输入变量:

def preprocess_names(name):
    #SOME PREPROCESSING
    return name.split('')

另外,我有一个 Pandas DataFrame df 我想应用这个函数。 在我的例子中,preprocess_names 的输出长度为 3,我想在 df.

的新列中使用每个值

因此,对于第一个新列,我想使用输出列表中的第一个元素。如果我只在一个 str 上使用这个函数,我会使用 preprocess_names[0] 来获取正确的变量。将该方法应用于 df 时如何做类似的事情?

下面的代码引发了 ValueError,但最接近我想做的事情。

df['runs'] = df['name'].apply(preprocess_names)[0]

你想要:

df['runs'] = df['name'].apply(preprocess_names).str[0]