Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从数据帧获取唯一密钥_Python_Pyspark_Databricks - Fatal编程技术网

Python 从数据帧获取唯一密钥

Python 从数据帧获取唯一密钥,python,pyspark,databricks,Python,Pyspark,Databricks,我是新手。我有一个spark数据框: print(df) [Row(feature=Row(a=u'enabled', b=None, c=None, d=u'enabled', e=None, f=None)), Row(feature=Row(a=None, b=None, c=None, d=u'enabled', e=None, f=None))] 我正在尝试获取列表中的所有功能名称 experiments = [a, b, c, d, e] 我试过: a = df.rdd

我是新手。我有一个spark数据框:

print(df)
[Row(feature=Row(a=u'enabled', b=None, c=None, d=u'enabled', e=None, f=None)),
     Row(feature=Row(a=None, b=None, c=None, d=u'enabled', e=None, f=None))]
我正在尝试获取列表中的所有功能名称

experiments = [a, b, c, d, e]
我试过:

a = df.rdd.map(lambda r: r.feature).collect()
这给了我所有的键和值对

在完成上述步骤后,我如何获得列表中的不同功能,或者是否有其他优雅的解决方案

i、 e

Rdd\u name.keys()
是使用Rdd时所需的

如前所述,
df.columns
是获取Spark数据帧中的列列表所需的

您还可以通过将行转换为字典来访问键,如下所示:

>>> df 
[Row(feature=Row(a=u'enabled', b=None, c=None, d=u'enabled', e=None, f=None)), Row(feature=Row(a=None, b=None, c=None, d=u'enabled', e=None, f=None))]
>>> df[0]
Row(feature=Row(a=u'enabled', b=None, c=None, d=u'enabled', e=None, f=None))
>>> df[0].asDict()
{'feature': Row(a=u'enabled', b=None, c=None, d=u'enabled', e=None, f=None)}
>>> df[0].asDict(True)
{'feature': {'a': u'enabled', 'c': None, 'b': None, 'e': None, 'd': u'enabled', 'f': None}}
>>> df[0].asDict(True).keys() 
['feature']
>>> df[0].feature.asDict(True).keys() 
['a', 'c', 'b', 'e', 'd', 'f']
>>> 

它说:AttributeError:'list'对象没有属性'columns'@SpaceOddity,因为在代码中的某个地方,您将数据帧转换为列表。。示例
df
是一个列表。查看我的更新答案,了解访问列表中的密钥的其他方法。
final_list = [a, b, c, d, e, f]
>>> df 
[Row(feature=Row(a=u'enabled', b=None, c=None, d=u'enabled', e=None, f=None)), Row(feature=Row(a=None, b=None, c=None, d=u'enabled', e=None, f=None))]
>>> df[0]
Row(feature=Row(a=u'enabled', b=None, c=None, d=u'enabled', e=None, f=None))
>>> df[0].asDict()
{'feature': Row(a=u'enabled', b=None, c=None, d=u'enabled', e=None, f=None)}
>>> df[0].asDict(True)
{'feature': {'a': u'enabled', 'c': None, 'b': None, 'e': None, 'd': u'enabled', 'f': None}}
>>> df[0].asDict(True).keys() 
['feature']
>>> df[0].feature.asDict(True).keys() 
['a', 'c', 'b', 'e', 'd', 'f']
>>>