Используя реализацию 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'
Может кто-нибудь мне помочь?