我发现pandas read_csv方法比numpy loadtxt快。不幸的是,现在我发现自己处于一种情况,我必须回到numpy,因为loadtxt可以选择设置comments=['#','@']
。据我所知,Pandas read_csv方法只能从comment='#'
获取一个注释字符串。任何建议或变通办法可以让我的生活更轻松,让我不再转向numpy?另外为什么熊猫不支持多个评论指标?
# save this in test.dat
@ bla
# bla
1 2 3 4
最小例子:
# does work, but only one type of comment is accounted for
df = pd.read_csv('test.dat', index_col=0, header=None, comment='#')
# does not work (not suprising reading the help)
df = pd.read_csv('test.dat', index_col=0, header=None, comment=['#','@'])
# does work but is slow
df = np.loadtxt('test.dat', comments=['#','@'])
答案 0 :(得分:3)
简短的回答是,还没有人在pandas
中实现它。通过他们的Github问题快速查看,看起来像其他人已经建议它,并且维护者可以使用实现它的补丁:
https://github.com/pandas-dev/pandas/issues/13948
如果您对此感到满意,或者只是在其他人这样做的时候关注该问题,那么您可以成为回馈pandas
项目的好机会。处理评论的代码库部分看起来就在_check_comments
:https://github.com/pandas-dev/pandas/blob/master/pandas/io/parsers.py#L2348