How to drop rows with ALL zero values but not zeros WITH non zero values










1















I have a csv file with these values:



0,0,0,0,October 29 2018 16:35:04
0,1,2,0,October 30 2018 11:40:04
0,0,0,0,November 25 2018 04:20:13


I wanted to remove the rows with zero values on the first 4 columns:



0,0,0,0,October 29 2018 16:35:04 #remove this
0,1,2,0,October 30 2018 11:40:04 #this should stay
0,0,0,0,November 25 2018 04:20:13 #remove this









share|improve this question


























    1















    I have a csv file with these values:



    0,0,0,0,October 29 2018 16:35:04
    0,1,2,0,October 30 2018 11:40:04
    0,0,0,0,November 25 2018 04:20:13


    I wanted to remove the rows with zero values on the first 4 columns:



    0,0,0,0,October 29 2018 16:35:04 #remove this
    0,1,2,0,October 30 2018 11:40:04 #this should stay
    0,0,0,0,November 25 2018 04:20:13 #remove this









    share|improve this question
























      1












      1








      1








      I have a csv file with these values:



      0,0,0,0,October 29 2018 16:35:04
      0,1,2,0,October 30 2018 11:40:04
      0,0,0,0,November 25 2018 04:20:13


      I wanted to remove the rows with zero values on the first 4 columns:



      0,0,0,0,October 29 2018 16:35:04 #remove this
      0,1,2,0,October 30 2018 11:40:04 #this should stay
      0,0,0,0,November 25 2018 04:20:13 #remove this









      share|improve this question














      I have a csv file with these values:



      0,0,0,0,October 29 2018 16:35:04
      0,1,2,0,October 30 2018 11:40:04
      0,0,0,0,November 25 2018 04:20:13


      I wanted to remove the rows with zero values on the first 4 columns:



      0,0,0,0,October 29 2018 16:35:04 #remove this
      0,1,2,0,October 30 2018 11:40:04 #this should stay
      0,0,0,0,November 25 2018 04:20:13 #remove this






      python pandas






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 14 '18 at 1:27









      LearningNoobLearningNoob

      536




      536






















          2 Answers
          2






          active

          oldest

          votes


















          2














          IIUC use df[...]:



          print(df[~(df[df.columns[:4]]==0).all(1)])


          Slightly better (thanks to @jpp), use iloc:



          print((df.iloc[:, :4] == 0).all(1))


          Both Output:



           0 1 2 3 4
          1 0 1 2 0 October 30 2018 11:40:04


          Columns for output maybe incorrect, because i don't know the actual ones.






          share|improve this answer
































            1














            There's many ways to do what you're asking, but you have a couple of tasks:



            • read a .csv, you can do this with csv.reader

            • go over all its contents, you can do this with a simple for loop

            • check some conditions, you'll need to check if the integer value is 0, int(row[col]) == 0

            • write lines that meet the conditions to a new .csv, you can do this with csv.writer

            Here's a working script that does these things, without requiring external libraries, other than the standard csv one:



            from csv import reader, writer

            with open('input.csv', 'r') as input_file:
            with open('output.csv', 'w', newline='') as output_file:
            csv_in = reader(input_file)
            csv_out = writer(output_file)
            for row in csv_in:
            if not all([int(row[col]) == 0 for col in range(0, 4)]):
            csv_out.writerow(row)





            share|improve this answer






















              Your Answer






              StackExchange.ifUsing("editor", function ()
              StackExchange.using("externalEditor", function ()
              StackExchange.using("snippets", function ()
              StackExchange.snippets.init();
              );
              );
              , "code-snippets");

              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "1"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader:
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              ,
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );













              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53291878%2fhow-to-drop-rows-with-all-zero-values-but-not-zeros-with-non-zero-values%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              2














              IIUC use df[...]:



              print(df[~(df[df.columns[:4]]==0).all(1)])


              Slightly better (thanks to @jpp), use iloc:



              print((df.iloc[:, :4] == 0).all(1))


              Both Output:



               0 1 2 3 4
              1 0 1 2 0 October 30 2018 11:40:04


              Columns for output maybe incorrect, because i don't know the actual ones.






              share|improve this answer





























                2














                IIUC use df[...]:



                print(df[~(df[df.columns[:4]]==0).all(1)])


                Slightly better (thanks to @jpp), use iloc:



                print((df.iloc[:, :4] == 0).all(1))


                Both Output:



                 0 1 2 3 4
                1 0 1 2 0 October 30 2018 11:40:04


                Columns for output maybe incorrect, because i don't know the actual ones.






                share|improve this answer



























                  2












                  2








                  2







                  IIUC use df[...]:



                  print(df[~(df[df.columns[:4]]==0).all(1)])


                  Slightly better (thanks to @jpp), use iloc:



                  print((df.iloc[:, :4] == 0).all(1))


                  Both Output:



                   0 1 2 3 4
                  1 0 1 2 0 October 30 2018 11:40:04


                  Columns for output maybe incorrect, because i don't know the actual ones.






                  share|improve this answer















                  IIUC use df[...]:



                  print(df[~(df[df.columns[:4]]==0).all(1)])


                  Slightly better (thanks to @jpp), use iloc:



                  print((df.iloc[:, :4] == 0).all(1))


                  Both Output:



                   0 1 2 3 4
                  1 0 1 2 0 October 30 2018 11:40:04


                  Columns for output maybe incorrect, because i don't know the actual ones.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Nov 14 '18 at 1:40

























                  answered Nov 14 '18 at 1:31









                  U9-ForwardU9-Forward

                  14.8k31338




                  14.8k31338























                      1














                      There's many ways to do what you're asking, but you have a couple of tasks:



                      • read a .csv, you can do this with csv.reader

                      • go over all its contents, you can do this with a simple for loop

                      • check some conditions, you'll need to check if the integer value is 0, int(row[col]) == 0

                      • write lines that meet the conditions to a new .csv, you can do this with csv.writer

                      Here's a working script that does these things, without requiring external libraries, other than the standard csv one:



                      from csv import reader, writer

                      with open('input.csv', 'r') as input_file:
                      with open('output.csv', 'w', newline='') as output_file:
                      csv_in = reader(input_file)
                      csv_out = writer(output_file)
                      for row in csv_in:
                      if not all([int(row[col]) == 0 for col in range(0, 4)]):
                      csv_out.writerow(row)





                      share|improve this answer



























                        1














                        There's many ways to do what you're asking, but you have a couple of tasks:



                        • read a .csv, you can do this with csv.reader

                        • go over all its contents, you can do this with a simple for loop

                        • check some conditions, you'll need to check if the integer value is 0, int(row[col]) == 0

                        • write lines that meet the conditions to a new .csv, you can do this with csv.writer

                        Here's a working script that does these things, without requiring external libraries, other than the standard csv one:



                        from csv import reader, writer

                        with open('input.csv', 'r') as input_file:
                        with open('output.csv', 'w', newline='') as output_file:
                        csv_in = reader(input_file)
                        csv_out = writer(output_file)
                        for row in csv_in:
                        if not all([int(row[col]) == 0 for col in range(0, 4)]):
                        csv_out.writerow(row)





                        share|improve this answer

























                          1












                          1








                          1







                          There's many ways to do what you're asking, but you have a couple of tasks:



                          • read a .csv, you can do this with csv.reader

                          • go over all its contents, you can do this with a simple for loop

                          • check some conditions, you'll need to check if the integer value is 0, int(row[col]) == 0

                          • write lines that meet the conditions to a new .csv, you can do this with csv.writer

                          Here's a working script that does these things, without requiring external libraries, other than the standard csv one:



                          from csv import reader, writer

                          with open('input.csv', 'r') as input_file:
                          with open('output.csv', 'w', newline='') as output_file:
                          csv_in = reader(input_file)
                          csv_out = writer(output_file)
                          for row in csv_in:
                          if not all([int(row[col]) == 0 for col in range(0, 4)]):
                          csv_out.writerow(row)





                          share|improve this answer













                          There's many ways to do what you're asking, but you have a couple of tasks:



                          • read a .csv, you can do this with csv.reader

                          • go over all its contents, you can do this with a simple for loop

                          • check some conditions, you'll need to check if the integer value is 0, int(row[col]) == 0

                          • write lines that meet the conditions to a new .csv, you can do this with csv.writer

                          Here's a working script that does these things, without requiring external libraries, other than the standard csv one:



                          from csv import reader, writer

                          with open('input.csv', 'r') as input_file:
                          with open('output.csv', 'w', newline='') as output_file:
                          csv_in = reader(input_file)
                          csv_out = writer(output_file)
                          for row in csv_in:
                          if not all([int(row[col]) == 0 for col in range(0, 4)]):
                          csv_out.writerow(row)






                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Nov 14 '18 at 1:45









                          GrismarGrismar

                          1,057613




                          1,057613



























                              draft saved

                              draft discarded
















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid


                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.

                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53291878%2fhow-to-drop-rows-with-all-zero-values-but-not-zeros-with-non-zero-values%23new-answer', 'question_page');

                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              這個網誌中的熱門文章

                              Barbados

                              How to read a connectionString WITH PROVIDER in .NET Core?

                              Node.js Script on GitHub Pages or Amazon S3