【问题标题】:Import large files with Mathematica使用 Mathematica 导入大文件
【发布时间】:2016-10-10 23:47:33
【问题描述】:

我想用 Mathematica 导入很多大文件,然后再执行 NonlinearModelFit。因此,我使用了 Import 功能,如下所述:

files = FileNames["*.dat"];  
data = Parallelize[Import[#, "Table"] & /@ files]

问题是这一步非常..非常..慢。 你有什么想法来改进这部分吗? 提前谢谢你。

【问题讨论】:

    标签: wolfram-mathematica


    【解决方案1】:

    使用

    ReadList[#, String]&/@files
    

    ReadList[#, Record]&/@files
    

    除了 OP 的评论之外,还有多种访问列的方法,例如。

    dataAsStrings = ReadList[#, String]&/@files;
    flatterData = Flatten[dataAsStrings, 1];
    splitData = StringSplit[#] & /@ flatterData;
    column2 = splitData[[All, 2]];
    

    然后也许使用ToExpression 将字符串转换为数值。

    【讨论】:

    • 好的。 @Chris Degnen 谢谢你的回答。这是很多..很多..更快!但是,我怎样才能使用特定的列?我的意思是我想将 NonlinearModelFit 与特定列的数据一起使用。你能帮我解决这个问题吗?
    猜你喜欢
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    相关资源
    最近更新 更多