Python/Pandas-如何读取_csv并同时忽略具有#的行?
我的文件有两种格式……有些在开头有行,有些没有行。我想将上面的矩阵读入pandas数据框,并想在填充我的数据框之前忽略带有#的行。我的头应该是ID、SID和AID等等……所以我想我可以跳过前4行来读取文件,我知道怎么做。但问题是有些文件的行没有前4行,直接以ID-SID-AID…头开始Python/Pandas-如何读取_csv并同时忽略具有#的行?,python,pandas,rows,ignore,Python,Pandas,Rows,Ignore,我的文件有两种格式……有些在开头有行,有些没有行。我想将上面的矩阵读入pandas数据框,并想在填充我的数据框之前忽略带有#的行。我的头应该是ID、SID和AID等等……所以我想我可以跳过前4行来读取文件,我知道怎么做。但问题是有些文件的行没有前4行,直接以ID-SID-AID…头开始 当我读取数据帧时,我想它会将列名称指定为#PI为什么不使用read#csv读取所有行,然后使用#using.loc过滤掉行 差不多 df.loc[~df['col'].str.startswith('#')]
当我读取数据帧时,我想它会将列名称指定为#PI为什么不使用read#csv读取所有行,然后使用#using.loc过滤掉行 差不多
df.loc[~df['col'].str.startswith('#')]
为什么不使用read_csv读取所有行,然后使用#using.loc过滤掉行呢 差不多
df.loc[~df['col'].str.startswith('#')]
pandas函数允许您通过
comment='#'
指定注释字符。这将忽略以#开头的任何行 熊猫函数允许您通过comment='#'
指定注释字符。这将忽略以#开头的任何行 可能重复的问题不是重复的问题,因为您提到的链接是在文件读入数据帧之后,列具有标题名。可能重复的问题不是重复的问题,因为您提到的链接是在文件读入数据帧之后,列具有标题名标题名称无论列0是什么。您没有在图片中显示列标签,因此他使用了'col'
正确,谢谢Jaba!只要将“col”替换为第0列的任何列标题,我想我现在明白你的问题了。在链接的图片中,您希望数据帧是从第5行开始的所有内容,第5行是列标题?在这种情况下,只需使用要作为标题的行的索引指定header参数。i、 epd.read\u csv('file.csv',header=4)
。但我不知道如何明确地排除#行。是的,你是正确的,但有时我在前4行中有#,有时它直接以ID-SID-AID开头。。。。。。我明白了。我认为最简单的方法是按原样读取csv并指定header=None
,然后在我的原始答案中使用该语句,但只需将列索引而不是列名放入以“#”筛选出的行,然后将列名设置为您想要的任何名称。但我猜可能有人会建议一个更优雅的解决方案。不管第0列是什么。您没有在图片中显示列标签,因此他使用了'col'
正确,谢谢Jaba!只要将“col”替换为第0列的任何列标题,我想我现在明白你的问题了。在链接的图片中,您希望数据帧是从第5行开始的所有内容,第5行是列标题?在这种情况下,只需使用要作为标题的行的索引指定header参数。i、 epd.read\u csv('file.csv',header=4)
。但我不知道如何明确地排除#行。是的,你是正确的,但有时我在前4行中有#,有时它直接以ID-SID-AID开头。。。。。。我明白了。我认为最简单的方法是按原样读取csv并指定header=None
,然后在我的原始答案中使用该语句,但只需将列索引而不是列名放入以“#”筛选出的行,然后将列名设置为您想要的任何名称。但我猜有人可能会建议一个更优雅的解决方案。