GVKun编程网logo

从列表PySpark的列表创建单行数据框(pyspark增加一列)

6

本文的目的是介绍从列表PySpark的列表创建单行数据框的详细情况,特别关注pyspark增加一列的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解从列表PySpark

本文的目的是介绍从列表PySpark的列表创建单行数据框的详细情况,特别关注pyspark增加一列的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解从列表PySpark的列表创建单行数据框的机会,同时也不会遗漏关于c# – 从列表创建列表,删除重复项.、Pyspark 问题 - 表创建、Python何时为空列表创建新的列表对象?、python通过列表创建一行数据框的知识。

本文目录一览:

从列表PySpark的列表创建单行数据框(pyspark增加一列)

从列表PySpark的列表创建单行数据框(pyspark增加一列)

我有这样的数据data = [[1.1, 1.2], [1.3, 1.4], [1.5, 1.6]]我想创建一个PySpark数据框

我已经用过

dataframe = SQLContext.createDataFrame(data, [''features''])

但我总是得到

+--------+---+|features| _2|+--------+---+|     1.1|1.2||     1.3|1.4||     1.5|1.6|+--------+---+

我如何获得如下所示的结果?

+----------+|features  |+----------+|[1.1, 1.2]||[1.3, 1.4]||[1.5, 1.6]|+----------+

答案1

小编典典

我发现将参数createDataFrame()视为元组列表很有用,其中列表中的每个条目对应于DataFrame中的一行,而元组的每个元素对应于一列。

您可以通过将列表中的每个元素设为元组来获得所需的输出:

data = [([1.1, 1.2],), ([1.3, 1.4],), ([1.5, 1.6],)]dataframe = sqlCtx.createDataFrame(data, [''features''])dataframe.show()#+----------+#|  features|#+----------+#|[1.1, 1.2]|#|[1.3, 1.4]|#|[1.5, 1.6]|#+----------+

或者,如果更改源很麻烦,则可以等效地执行以下操作:

data = [[1.1, 1.2], [1.3, 1.4], [1.5, 1.6]]dataframe = sqlCtx.createDataFrame(map(lambda x: (x, ), data), [''features''])dataframe.show()#+----------+#|  features|#+----------+#|[1.1, 1.2]|#|[1.3, 1.4]|#|[1.5, 1.6]|#+----------+

c# – 从列表创建列表,删除重复项.

c# – 从列表创建列表,删除重复项.

有一个非常相关的问题: Create List<CustomObject> from List<string>然而它并不涉及同时删除重复项.

我有以下类示例:

class Widget
{
    public string OwnerName;
    public int SomeValue;
}

class Owner
{
    public string Name;
    public string OtherData;
}

我想根据小部件列表创建一个所有者列表,但只有唯一的所有者名称.

这是我尝试过的:

List<Owner> Owners = MyWidgetList.Select(w => new Owner { Name = w.OwnerName }).distinct().ToList();

问题是结果列表中有重复.我究竟做错了什么?

解决方法

您需要为对象定义GetHashCode()和Equals(),以定义自定义类型的相等性.否则,它会根据引用本身进行比较.

这是因为LINQ扩展方法使用IEqualityComparer接口来比较对象.如果没有定义自定义比较器(可以通过创建实现IEqualityComparer< Owner>的单独类来实现),它将使用默认的相等比较器,它使用类的Equals()和GetHashCode()定义.其中,如果不覆盖它们,则引用Equals()上的比较并返回默认对象哈希码.

定义自定义IEqualityComparer< Owner> (因为你在一系列所有者上调用distinct)或者为你的类添加一个Equals()和GetHashCode().

public class Owner
{
    public string Name;
    public string OtherData;

    public override Equals(object other)
    {
        if (ReferenceEquals(this,other))
            return true;

        if (other == null)
            return false;

        // whatever your deFinition of equality is...
        return Name == other.Name && OtherData == other.OtherData;
    }

    public override int GetHashCode()
    {
        int hashCode = 0;

        unchecked
        {
           // whatever hash code computation you want,but for example...
            hashCode += 13 * Name != null ? Name.GetHashCode() : 0;
            hashCode += 13 * OtherData != null ? OtherData.GetHashCode() : 0;
        }

        return hashCode;
    }
}

一旦你这样做,你写的查询将正常工作.

Pyspark 问题 - 表创建

Pyspark 问题 - 表创建

如何解决Pyspark 问题 - 表创建?

在 HUE 中运行 sql 查询有效 - “创建存储为 parquet 的表,如 t as ......”,但通过 pyspark 数据框的相同查询不会创建相同的表 -

df = spark.sql(my_query) 

df.write.mode(''overwrite'').saveAsAtable(some_name)

它创建了一个复杂类型(数组)表。

有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

Python何时为空列表创建新的列表对象?

Python何时为空列表创建新的列表对象?

以下对我来说很有意义:

>>> [] is []
False

鉴于列表是可变的,[]因此每次出现在表达式中时,我都希望它是一个新的空列表对象。但是,使用此解释,以下内容使我感到惊讶:

id([]) == id([])
True

为什么?有什么解释?

python通过列表创建一行数据框

python通过列表创建一行数据框

在 python中,假设我有一个列表[1,2,3,…,100],我想使用此列表创建一个数据框,其中有一行,行值是列表.这样做的最快捷,最优雅的方法是什么?

解决方法

将列表作为列表参数传递给数据:
In [11]:

l = range(1,100)
pd.DataFrame(data=[l])
Out[11]:
   0   1   2   3   4   5   6   7   8   9  ...  89  90  91  92  93  94  95  96  \
0   1   2   3   4   5   6   7   8   9  10 ...  90  91  92  93  94  95  96  97   

   97  98  
0  98  99  

[1 rows x 99 columns]

您可以将列名称作为arg传递给DataFrame构造函数或直接分配:

pd.DataFrame(data = [l],columns = col_list)

要么

df.columns = col_list

关于从列表PySpark的列表创建单行数据框pyspark增加一列的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于c# – 从列表创建列表,删除重复项.、Pyspark 问题 - 表创建、Python何时为空列表创建新的列表对象?、python通过列表创建一行数据框的相关信息,请在本站寻找。

本文标签: