在应用函数中获取第一个列表元素 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]
我有一个函数 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]