Hyukjin Kwon created SPARK-61227:
------------------------------------

             Summary: Convert a pandas frame with default column labels through 
Arrow, as PySpark does
                 Key: SPARK-61227
                 URL: https://issues.apache.org/jira/browse/SPARK-61227
             Project: Spark
          Issue Type: Bug
          Components: Connect
    Affects Versions: connect-rust-4.3.0
            Reporter: Hyukjin Kwon


createDataFrame of a plain pandas frame with default (RangeIndex) column 
labels, such as pd.DataFrame([[None], [3]]) or pd.DataFrame(ndarray), is not 
accepted by the Arrow routes in the Python client, so it takes the native row 
path. With an explicit schema that path fails where PySpark works: 
spark.createDataFrame(pd.DataFrame([[None], [3]]), "x int") raises 
PySparkRuntimeError "Type mismatch in row data", while PySpark 4.3.0 returns 
[Row(x=None), Row(x=3)]. The same frame with named or Int64 labels already 
converts with Arrow.
The fix accepts a default RangeIndex of labels under the same override checks 
as an Index, so these frames take the Arrow routes. Subclassed and 
instance-overridden labels keep the row path.




--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to