title: Creating a DataFrame from Row results in 'infer schema issue'
body: <p>When I began learning PySpark, I used a list to create a <code>dataframe</code>. Now that inferring the schema from list has been deprecated, I got a warning and it suggested me to use <code>pyspark.sql.Row</code> instead. However, when I try to create one using <code>Row</code>, I get infer schema issue. This is my code:</p>
  
  <pre class="lang-py prettyprint-override"><code>&gt;&gt;&gt; row = Row(name='Severin', age=33)
  &gt;&gt;&gt; df = spark.createDataFrame(row)
  </code></pre>
  
  <p>This results in the following error:</p>
  
  <pre><code>Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
    File "/spark2-client/python/pyspark/sql/session.py", line 526, in createDataFrame
      rdd, schema = self._createFromLocal(map(prepare, data), schema)
    File "/spark2-client/python/pyspark/sql/session.py", line 390, in _createFromLocal
      struct = self._inferSchemaFromList(data)
    File "/spark2-client/python/pyspark/sql/session.py", line 322, in _inferSchemaFromList
      schema = reduce(_merge_type, map(_infer_schema, data))
    File "/spark2-client/python/pyspark/sql/types.py", line 992, in _infer_schema
      raise TypeError("Can not infer schema for type: %s" % type(row))
  TypeError: Can not infer schema for type: &lt;type 'int'&gt;
  </code></pre>
  
  <p>So I created a schema</p>
  
  <pre class="lang-py prettyprint-override"><code>&gt;&gt;&gt; schema = StructType([StructField('name', StringType()), 
  ...                      StructField('age',IntegerType())])
  &gt;&gt;&gt; df = spark.createDataFrame(row, schema)
  </code></pre>
  
  <p>but then, this error gets thrown.</p>
  
  <pre><code>Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
    File "/spark2-client/python/pyspark/sql/session.py", line 526, in createDataFrame
      rdd, schema = self._createFromLocal(map(prepare, data), schema)
    File "/spark2-client/python/pyspark/sql/session.py", line 387, in _createFromLocal
      data = list(data)
    File "/spark2-client/python/pyspark/sql/session.py", line 509, in prepare
      verify_func(obj, schema)
    File "/spark2-client/python/pyspark/sql/types.py", line 1366, in _verify_type
      raise TypeError("StructType can not accept object %r in type %s" % (obj, type(obj)))
  TypeError: StructType can not accept object 33 in type &lt;type 'int'&gt;
  </code></pre>