仅将单词保留在数据框元素的列表中

时间:2019-09-04 14:01:37

标签: python pandas dataframe

我有一个包含list作为元素的df。

df = pd.DataFrame({'q': [['', 'Id'], [', ', 'Be', ', '], [', ', ''], ['ProgramServiceStatusId', '']]})

我只想保留包含字母数字字符的元素。
预期的输出将是

      q
0   [Id]
1   [Be]
2   []
3   [ProgramServiceStatusId]

我提到了这个问题,但它需要两个循环: Python keep only alphanumeric words from list
第一个遍历df列,第二个遍历单个列表。
我想知道是否有更简单的方法可以做到这一点。
谢谢

1 个答案:

答案 0 :(得分:1)

Series.apply中使用lambda函数:

df['q'] = df['q'].apply(lambda x: [i for i in x if i.isalpha()])
print (df)
                          q
0                      [Id]
1                      [Be]
2                        []
3  [ProgramServiceStatusId]