【问题标题】:MATLAB: Count punctuation marks in table columnsMATLAB:计算表列中的标点符号
【发布时间】:2020-11-11 18:29:48
【问题描述】:

我正在尝试查找此表中的句子数量:

在此处下载表格:http://www.mediafire.com/file/m81vtdo6bdd7bw8/Table_RandomInfoMiddle.mat/file

从句号可以看出,第一列有一个句子,第三列有 2 个句子。 在一天结束的时候,我希望有一个只有标点符号的表格(除了像“”这样的占位符,以保持表格行的长度相同)表示句子的结尾(如“。”或“?”或“!”),以计算每列的标点符号总数。 这是我的代码(但不成功):

EqualCoumns = [2:2:max(width(Table_RandomInfoMiddle))];
for t=EqualCoumns
MiddleOnlySentenceIndicators = Table_RandomInfoMiddle((Table_RandomInfoMiddle{:, t}=='punctuation'),:);
%Reomve all but "!.?" = Which is the only sentence enders
    MiddleOnlySentenceIndicators(MiddleOnlySentenceIndicators{:, t} == ',', :) = [];
    MiddleOnlySentenceIndicators(MiddleOnlySentenceIndicators{:, t} == ';', :) = [];
    MiddleOnlySentenceIndicators(MiddleOnlySentenceIndicators{:, t} == ':', :) = [];
    MiddleOnlySentenceIndicators(MiddleOnlySentenceIndicators{:, t} == '-', :) = [];
MiddleSentence_Nr(t) =  height(MiddleOnlySentenceIndicators);
end

现在这几乎给出了很好的结果,但有些地方有点错误。 (在答案中,我只想请求一件事,即我可能可以访问同一张表格中的结果,它应该看起来像这样(已编辑):

任何帮助将不胜感激。 谢谢!

【问题讨论】:

  • 在一天结束的时候,我希望有一个表,只有标点符号表示句子的结尾,然后有每列的标点符号总数。 这不是最终屏幕截图显示的内容。你能澄清一下吗?
  • @Paolo 你是对的。我已将措辞编辑得更具体。 只是为了让表格保持一致,因为每列需要相同数量的行。有了这样的决赛桌,我想统计一下每一列的标点符号的数量。
  • 您能否更新屏幕截图以显示所需的输出?它应该包括一个计数吧?我在屏幕截图中没有看到
  • @Paolo 谢谢。输出表是正确的。我想从这张表中计算出标点符号的数量。

标签: matlab for-loop datatable count


【解决方案1】:

如果我们使用我previous answert的表,我们可以使用以下解决方案:

punctuation_table = table();
for col=1:size(t,2)
    column_name = sprintf('Punctuation count for column %d',col);
    punctuation_table.(column_name) = nnz(ismember(t(:,col).Variables,{'?',',','.','!'}));
end

这将创建一个像这样的表:

punctuation_table =

1×4 table

Punctuation count for column 1    Punctuation count for column 2    Punctuation count for column 3    Punctuation count for column 4
______________________________    ______________________________    ______________________________    ______________________________

              2                                 0                                 2                                 0      

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多