title: subprocess not receiving output
body: <p>I would like to serialize a dataframe to pipe it to an executable that at the moment for testing purposes just prints out whatever it is receiving from the command line.</p>
  <pre><code>import numpy as np
  import pandas as pd    
  import subprocess
  
  df = pd.DataFrame(np.random.normal(size = 1000).reshape(100,10))
      
  exe =  r&quot;C:\Users\Snake91\source\repos\ConsoleApplication1\Debug\ConsoleApplication1.exe &quot;
  
  process = subprocess.Popen([exe],
                             stdin =  subprocess.PIPE,
                        stdout = subprocess.PIPE,
                       stderr=subprocess.PIPE, shell = True)
  stdout, stderr = process.communicate(np.array(df).tobytes())
  </code></pre>
  <p>Below the code of the executable</p>
  <pre><code>#include &lt;iostream&gt;
  
  int main(int argc, char* argv[])
  {
      int size = sizeof(argv)/sizeof(argv[0]) + 1;
      if (size &gt; 1)
      {
          for (int idx = 1; idx &lt; size; idx++)
          {
              std::cout &lt;&lt; argv[idx];
          }
      }
  }
  </code></pre>
  <p>When running the python script, however, I get an empty byte string instead of the serialized dataframe. What am I getting wrong?</p>