在熊猫中删除NA(ish?)字段

大卫542

我发现自己NA在Pandas土地上挣扎了很多。这是一个例子:

audio =('all_audio_languages', lambda x: str(sorted({l.lower() for ls in x.dropna() for l in ls}))),

AttributeError:'NoneType'对象没有属性'lower'

现在,我认为这x.dropna()将删除所有NA / None / etc。类型,但似乎它们仍然在那里。有没有一种方法可以从根本上做到“艰苦” dropna(),从而摆脱(布尔)评估的一切False


示例数据(尽管它是一个大数据框,所以不确定下面是否包含有问题的数据):

all_audio_languages
['en']
['en']
['en']
['LAS', 'en']
['LAS', 'en']
['en']
['en']
[]
耶斯列尔

我相信您需要过滤掉NoneNaN通过notna

f = lambda x: str(sorted({l.lower() for ls in x.dropna() for l in ls if pd.notna(l)}))

audio = ('all_audio_languages', f)

测试不容易,但是我尝试过(功能已更改):

df = pd.DataFrame({'all_audio_languages':[['Las','LAS', 'en', None], ['en','LAS']]})
print (df)
    all_audio_languages
0  [Las, LAS, en, None]
1             [en, LAS]

f = lambda x: str(sorted({l.lower() for l in x if pd.notna(l)}))

print (df['all_audio_languages'].apply(f))
0    ['en', 'las']
1    ['en', 'las']
Name: all_audio_languages, dtype: object

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法通过熊猫删除na在Python中读取Excel文件

来自分类Dev

r从数据帧中动态删除NA行,并记录哪个字段为NA

来自分类Dev

熊猫:从DataFrame中删除所有包含nans,0和NA的列

来自分类Dev

熊猫:从DataFrame中删除所有包含nans,0和NA的列

来自分类Dev

从ES中删除字段

来自分类Dev

Elasticsearch中的删除字段

来自分类Dev

从字段中删除NULL

来自分类Dev

python熊猫中的'NA'处理

来自分类常见问题

删除熊猫中的索引名称

来自分类Dev

从复数中删除括号-熊猫

来自分类Dev

从Elasticsearch文档中删除字段

来自分类Dev

删除记录中的重复字段

来自分类Dev

删除mongoDB中的特定字段

来自分类Dev

从字段中删除搜索帮助

来自分类Dev

删除字段中的重复值

来自分类Dev

从输入字段中删除样式

来自分类Dev

从熊猫列中的列表中删除元素

来自分类Dev

熊猫在记录中扩展JSON字段

来自分类Dev

按熊猫数据框中的字段分组

来自分类Dev

从Matlab表中删除'@NA'

来自分类Dev

如何删除熊猫中的小数点

来自分类Dev

从熊猫数据框中删除leap年

来自分类Dev

从熊猫数据框中删除标题列

来自分类Dev

删除熊猫系列中的空列表

来自分类Dev

熊猫:在groupby'date'中删除重复项

来自分类常见问题

根据熊猫中的列名删除多个列

来自分类Dev

在熊猫中删除重复的标头(Python)

来自分类Dev

从熊猫输出中删除名称,dtype

来自分类Dev

删除熊猫值中的所有引号