我有一个 pandas DataFrame,我想从中删除特定列中字符串长度大于 2 的行。
我希望能够做到这一点(根据这个答案):
df[(len(df['column name']) < 2)]
但我只是得到错误:
KeyError: u'no item named False'
我究竟做错了什么?
(注意:我知道我可以df.dropna()用来删除包含 any 的行NaN,但我没有看到如何根据条件表达式删除行。)
df.dropna()
NaN
当你这样做时,len(df['column name'])你只会得到一个数字,即 DataFrame 中的行数(即列本身的长度)。如果要应用于len列中的每个元素,请使用df['column name'].map(len). 所以试试
len(df['column name'])
len
df['column name'].map(len)
df[df['column name'].map(len) < 2]