Преобразовать выходные данные FPF роста данных для загрузки в BigQuery - PullRequest
0 голосов
/ 20 марта 2019

Используя реализацию Pyspark FPGrowth, я смог получить вывод. Либо у меня есть списки длиной 1, как можно видеть ниже (1)

    antecedent|consequent|         confidence|
+----------+----------+-------------------+
|[16492930]|[20448897]|0.09983361064891846|

Или мы можем иметь более длинные списки (2)

-------------------+----------+-------------------+
|         antecedent|consequent|         confidence|
+-------------------+----------+-------------------+
|[22000477, 8212566]|[11503723]|  0.289586305278174|

Поскольку я довольно новичок в Python, я не смог успешно преобразовать (1) в простой фрейм данных, который можно загрузить в BigQuery

используя pandas-gbq , функцию to_gbq, я получаю следующее сообщение об ошибке

AttributeError                            Traceback (most recent call last)
<ipython-input-119-f3ca65bf35d9> in <module>()
      1 import pandas_gbq
----> 2 pandas_gbq.to_gbq(df, 'xxxxxxx.fpgrowth', project_id=project_id)

/usr/local/envs/py3env/lib/python3.5/site-packages/pandas_gbq/gbq.py in to_gbq(dataframe, destination_table, project_id, chunksize, verbose, reauth, if_exists, private_key, auth_local_webserver)
    965                    private_key=private_key)
    966 
--> 967     table_schema = _generate_bq_schema(dataframe)
    968 
    969     # If table exists, check if_exists parameter

/usr/local/envs/py3env/lib/python3.5/site-packages/pandas_gbq/gbq.py in _generate_bq_schema(df, default_type)
   1020 
   1021     fields = []
-> 1022     for column_name, dtype in df.dtypes.iteritems():
   1023         fields.append({'name': column_name,
   1024                        'type': type_mapping.get(dtype.kind, default_type)})

AttributeError: 'list' object has no attribute 'iteritems'

Вопросы теперь

1) Может ли кто-нибудь предложить метод преобразования кадра данных в кадр данных, содержащий строковые данные в предшествующем и последующих столбцах?

2) Может кто-нибудь помочь предложить правильный код для добавления простой нумерации строк в df? Я пробовал несколько методов, но постоянно получаю сообщение о том, что используемые мной функции не распознаются для 'DataFrame'

Может кто-нибудь мне помочь?

...