title: PySpark convert struct field inside array to string
body: <p>I have a dataframe with schema like this:</p>
  
  <pre><code>|-- order: string (nullable = true)
  |-- travel: array (nullable = true)
   |    |-- element: struct (containsNull = true)
   |    |    |-- place: struct (nullable = true)
   |    |    |    |-- name: string (nullable = true)
   |    |    |    |-- address: string (nullable = true)
   |    |    |    |-- latitude: double (nullable = true)
   |    |    |    |-- longitude: double (nullable = true)
   |    |    |-- distance_in_kms: float (nullable = true)
   |    |    |-- estimated_time: struct (nullable = true)
   |    |    |    |-- seconds: long (nullable = true)
   |    |    |    |-- nanos: integer (nullable = true)
  </code></pre>
  
  <p>I want to get the seconds in <code>estimated_time</code> and convert it into a string and concatenate it with <code>s</code>, and then replace <code>estimated_time</code> with the new string value. For example, <code>{ "seconds": "988", "nanos": "102" }</code> will be converted to <code>988s</code>, so the schema will change to</p>
  
  <pre><code>|-- order: string (nullable = true)
  |-- travel: array (nullable = true)
   |    |-- element: struct (containsNull = true)
   |    |    |-- place: struct (nullable = true)
   |    |    |    |-- name: string (nullable = true)
   |    |    |    |-- address: string (nullable = true)
   |    |    |    |-- latitude: double (nullable = true)
   |    |    |    |-- longitude: double (nullable = true)
   |    |    |-- distance_in_kms: float (nullable = true)
   |    |    |-- estimated_time: string (nullable = true)
  </code></pre>
  
  <p>How can I do this in PySpark?</p>
  
  <p>More concrete example, I want to transform this DF (visualized in JSON)</p>
  
  <pre><code>{
      "order": "c-331",
      "travel": [
          {
              "place": {
                  "name": "A place",
                  "address": "The address",
                  "latitude": 0.0,
                  "longitude": 0.0
              },
              "distance_in_kms": 1.0,
              "estimated_time": {
                  "seconds": 988,
                  "nanos": 102
              }
          }
      ]
  }
  </code></pre>
  
  <p>into </p>
  
  <pre><code>{
      "order": "c-331",
      "travel": [
          {
              "place": {
                  "name": "A place",
                  "address": "The address",
                  "latitude": 0.0,
                  "longitude": 0.0
              },
              "distance_in_kms": 1.0,
              "estimated_time": "988s"
          }
      ]
  }
  </code></pre>