I am unable to retrieve a particular item from a tuple/struct type value in pandas dataframe. I am able to accomplish the same thing using pyspark dataframe.
import pyspark
from pyspark.sql import SparkSession
from pyspark.sql.types import StructType, StructField, StringType,IntegerType
# import pandas as pd
dataStruct = [(("James","","Smith"),"36636","M","3000"), \
(("Michael","Rose",""),"40288","M","4000"), \
(("Robert","","Williams"),"42114","M","4000"), \
(("Maria","Anne","Jones"),"39192","F","4000"), \
(("Jen","Mary","Brown"),"","F","-1") \
]
spark = SparkSession.builder.appName('SparkByExamples.com').getOrCreate()
schemaStruct = StructType([
StructField('name', StructType([
StructField('firstname', StringType(), True),
StructField('middlename', StringType(), True),
StructField('lastname', StringType(), True)
])),
StructField('dob', StringType(), True),
StructField('gender', StringType(), True),
StructField('salary', StringType(), True)
])
df = spark.createDataFrame(data=dataStruct, schema = schemaStruct)
# df.printSchema()
df.select("name.firstname").show()
pandasDF2 = df.toPandas()
display(pandasDF2["name['firstname']"])
Error Output : -
I am able to select "firstname" from a tuple using pyspark dataframe.
But after converting it into a pandas dataframe I am also unable to retrieve the same thing using below command : -
display(pandasDF2["name.firstname"])
I will be helpful if I can accomplish the same in pandas. Retrieving an item from a tuple/struct value in pandas dataframe.
