Как я могу преобразовать из диктата в корректировку PySpark Dataframe? - PullRequest
0 голосов
/ 21 января 2020

У меня есть pandas фрейм данных со следующими данными:

Этапы {0: [datetime ....], 1: [datetime .....], ...}

и у меня есть несколько таких столбцов, которые являются словарями, мне нужно преобразовать их в Spark Dataframe, есть ли простой способ сделать это, возможно, через pandas?

Редактировать:

У меня есть pandas Dataframe со следующей структурой

meta     object
id          object
pc         object
part       object
wps          object
mistake        object
timeend    object
timestart    object
tena     object

в основном все объекты являются словарями, и мне нужно преобразовать это в искровой dataframe, чтобы я мог делать функции как (groupby, et c) чтобы получить от него важную информацию.

Я использовал следующий код, чтобы попытаться создать мой фрейм данных искры:

            # Auxiliar functions
            def equivalent_type(f):
                if f == 'datetime64[ns]': return DateType()
                elif f == 'object': return ArrayType(ArrayType(StringType))
                elif f == 'int64': return LongType()
                elif f == 'int32': return IntegerType()
                elif f == 'float64': return FloatType()
                else: return StringType()
            def define_structure(string, format_type):
                try: typo = equivalent_type(format_type)
                except: typo = StringType()
                return StructField(string, typo)
            # Given pandas dataframe, it will return a spark's dataframe.
            def pandas_to_spark(pandas_df):
                columns = list(pandas_df.columns)
                types = list(pandas_df.dtypes)
                struct_list = []
                for column, typo in zip(columns, types): 
                struct_list.append(define_structure(column, typo))
                p_schema = StructType(struct_list)
                return spark.createDataFrame(pandas_df, p_schema)

            spark_df = pandas_to_spark(df)

однако сохраненные значения не сохраняются как словари, они сохраняются как строки, мне нужно поддерживать формат, как это было бы на обычном pandas dataframe

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...