可以说我有一个清单

vowels= ['a','e','i','o','u']


我有一个熊猫数据框

id       alphabet
 1         b
 2         a
 3         c
 4         i


我需要像这样的输出

id       alphabet  label
 1         b
 2         a       vowel
 3         c
 4         i       vowel


我试过了

df.loc[df.alphabet in vowels, 'label'] = "vowel"


这给我一个错误。我该怎么做呢?

最佳答案

我认为需要功能Series.isin作为条件。

如果需要使用vowel缺少值,请使用:

df.loc[df.alphabet.isin(vowels), 'activity'] = "vowel"
print (df)
   id alphabet activity
0   1        b      NaN
1   2        a    vowel
2   3        c      NaN
3   4        i    vowel


或者,如果需要空值并且vowel使用numpy.where

df['activity'] = np.where(df.alphabet.isin(vowels), 'vowel', '')
print (df)
   id alphabet activity
0   1        b
1   2        a    vowel
2   3        c
3   4        i    vowel

10-07 13:29