2024-10-04 05:25:37 发布
网友
我有一个dataframe,并且大多数列'arr'的日期格式正确为
yyyy-mm-dd
一些不良记录
比如2019/02/10,我想放弃它们。在
我试过了:
ttdf = ttdf[ttdf['arr'].map(lambda x: 0 if '/' in x else 1 ) ]
但我收到一条错误信息:
KeyError: '[1 1 1 ... 0 0 0] not in index'
我走对了吗?在
IIUC公司
df[~df.dates.atype(str).str.contains('/')]
例如
那么
df[~df.dates.str.contains('/')] dates 0 2011-01-20 1 2011-01-20 3 2011-01-20
您也可以使用map(正如您所尝试的那样),但是使用bool值而不是int,这样您就可以执行布尔掩码
map
bool
int
df[df['dates'].map(lambda x: False if '/' in x else True )] dates 0 2011-01-20 1 2011-01-20 3 2011-01-20
但是请注意,False if '/' in x else True是多余的。这与not '/' in x相同
False if '/' in x else True
not '/' in x
df[df['dates'].map(lambda x: not '/' in x )] dates 0 2011-01-20 1 2011-01-20 3 2011-01-20
IIUC公司
例如
^{pr2}$那么
您也可以使用
map
(正如您所尝试的那样),但是使用bool
值而不是int
,这样您就可以执行布尔掩码但是请注意,
False if '/' in x else True
是多余的。这与not '/' in x
相同相关问题 更多 >
编程相关推荐