delete rows in a cell array

1 回表示 (過去 30 日間)
Anastasia Anastasiadou
Anastasia Anastasiadou 2019 年 1 月 29 日
編集済み: madhan ravi 2019 年 1 月 30 日
having a cell array containing in 1st column a name of a country and in next column values, how can I delete rows containing 1 or more zeros values?
  1 件のコメント
Stephen23
Stephen23 2019 年 1 月 29 日
@Anastasia Anastasiadou: please upload your data in a .mat file by clicking the paperclip button.

サインインしてコメントする。

採用された回答

madhan ravi
madhan ravi 2019 年 1 月 29 日
編集済み: madhan ravi 2019 年 1 月 29 日
C={'country1' 11 33 55 40
'country2' 22 0 0 0
'country3' 58 44 55 5 };
idx=cellfun(@all,C,'un',0);
C(~all(cell2mat(idx),2),:)=[]
  10 件のコメント
Anastasia Anastasiadou
Anastasia Anastasiadou 2019 年 1 月 29 日
編集済み: madhan ravi 2019 年 1 月 30 日
yeeeees! it worked!!!
thank you so muchh
madhan ravi
madhan ravi 2019 年 1 月 29 日
編集済み: madhan ravi 2019 年 1 月 29 日
Help us to help you! , that's why we ask you to upload the required files at he very beginning when you ask a question so that a fast solution can be provided.

サインインしてコメントする。

その他の回答 (2 件)

Omer Yasin Birey
Omer Yasin Birey 2019 年 1 月 29 日
編集済み: Omer Yasin Birey 2019 年 1 月 29 日
Lets say your cell array's variable name is 'a'
a = a(all(cellfun(@(x)x~=0,a),2),:);
  5 件のコメント
Omer Yasin Birey
Omer Yasin Birey 2019 年 1 月 29 日
That should work
remZeros = a(all(cellfun(@(x)x~=0,a),2),:);
remZeros(2:end+1,:) = remZeros(1:end,:);
remZeros(1,:) = a(1,:);
Anastasia Anastasiadou
Anastasia Anastasiadou 2019 年 1 月 29 日
it does not.
Error using cellfun
Non-scalar in Uniform output, at index 1, output 1.
Set 'UniformOutput' to false.
and although I set uniformoutput to false again nothing

サインインしてコメントする。


KSSV
KSSV 2019 年 1 月 29 日
Let A be your matrix with size (m,n)
idx = A==0 ;
A(sum(A,2)~=n,:) = [] ;
  2 件のコメント
madhan ravi
madhan ravi 2019 年 1 月 29 日
? OP has mentioned it’s a cell array not a matrix.
Anastasia Anastasiadou
Anastasia Anastasiadou 2019 年 1 月 29 日
I have a cell array so the == does not work ! :)

サインインしてコメントする。

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by