【发布时间】:2019-05-18 07:03:54
【问题描述】:
我想删除以注释字符开头的 pandas 数据框中的所有行。例如:
>>> COMMENT_CHAR = '#'
>>> df
first_name last_name
0 #fill in here fill in here
1 tom jones
>>> df.remove(df.columns[0], startswith=COMMENT_CHAR) # in pseudocode
>>> df
first_name last_name
0 tom jones
这实际上是如何完成的?
【问题讨论】:
-
df.loc[~df.first_name.str.startswith('#')]或类似的东西。该掩码的反转可以与df.drop一起使用 -
还有
.reset_index(drop=True) -
@user3483203 有没有办法通过使用索引而不是列名来做到这一点?
-
df.mask(df.iloc[:,0].str.startswith('#')).dropna() -
@ChrisA 非常简洁,您想解释一下它是如何在答案中起作用的吗?我可以接受吗?