转换FP Growth DataFrame输出以上传到BigQuery

时间:2019-03-20 15:44:53

标签: python pandas pyspark google-bigquery fpgrowth

使用Pyspark FPGrowth实现,我可以获得输出。 要么我有1个长的列表,如下所示(1)

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

或者我们可以有更长的列表(2)

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

由于我是Python的新手,所以我无法成功将(1)转换为可以上传到BigQuery的简单数据框

使用to_gbq函数 pandas-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'

无法识别我正在使用的功能

有人可以帮我吗?

0 个答案:

没有答案