我是Python和Pandas的新手,我花了很多时间进行搜索,但未能找到解决我特定问题的答案.
我有一个数据框,其中前几行只是以’#’开头的注释,其后是包含行和列的普通数据框.我有数百个此类文本文件需要阅读和处理.例如:
‘#’等等
‘#’等等
‘#’等等
列1列2列3
a1 b1 c1
a2 b2 c2
等等
我想删除所有以“#”开头的行.有人可以告诉我如何在熊猫中做到这一点吗?
my_input=pd.read_table(filename, comment='#', header=80)
但是问题是每个文本文件的标题行都不同.有没有一种方法可以概括并告诉Python我的标头位于以’#’开头的最后一行的下面?
解决方法:
更新至熊猫0.14.1或更高版本可让您正确跳过注释行.
较旧的版本会将这些行保留为NaN,可以使用.dropna()删除这些行,但会留下损坏的标头.
对于较旧版本的熊猫,可以使用“ skiprows”,前提是您知道注释了多少行.
在[3]中:
s = "# blah1\n# blah2\n# blah3\nCol1 Col2 Col3\na1 b1 c1\na2 b2 c2\n"
pd.read_table(StringIO(s), skiprows=3, sep=' ')
出[3]:
Col1 Col2 Col3
0 a1 b1 c1
1 a2 b2 c2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。