相关疑难解决方法(0)

如何使用dict创建新的DataFrame

我有一个dict,例如:

cMap = {"k1" : "v1", "k2" : "v1", "k3" : "v2", "k4" : "v2"}
Run Code Online (Sandbox Code Playgroud)

和一个DataFrame A,例如:

+---+
|key|
+----
| k1|
| k2|
| k3|
| k4|
+---+
Run Code Online (Sandbox Code Playgroud)

使用代码创建上面的DataFame:

data = [('k1'),
    ('k2'),
    ('k3'),
    ('k4')]
A = spark.createDataFrame(data, ['key'])
Run Code Online (Sandbox Code Playgroud)

我想获取新的DataFrame,例如:

+---+----------+----------+
|key|   v1     |    v2    |
+---+----------+----------+
| k1|true      |false     |
| k2|true      |false     |
| k3|false     |true      |
| k4|false     |true      |
+---+----------+----------+
Run Code Online (Sandbox Code Playgroud)

我希望得到一些建议,谢谢!

pyspark

4
推荐指数
4
解决办法
1万
查看次数

pySpark/Python 迭代数据帧列,检查条件并填充另一列

我正在 Jupyter Notebook 中使用 python/pySpark,我试图弄清楚以下内容:

我有一个像这样的数据框

MainDate      Date1        Date2        Date3         Date4
2015-10-25    2015-09-25   2015-10-25   2015-11-25    2015-12-25
2012-07-16    2012-04-16   2012-05-16   2012-06-16    2012-07-16
2005-03-14    2005-07-14   2005-08-14   2005-09-14    2005-10-14
Run Code Online (Sandbox Code Playgroud)

我需要将 MainDate 与 Date1-Date4 中的每个进行比较,如果 MainDate == Date# 则创建一个新列 REAL = Date#,如果没有匹配则 REAL =“无”,所有日期均为日期格式,另外,真实的数据帧有 Date1 到 Date72,并且可能只有一个匹配项(如果有的话)

最后结果:

MainDate      Date1        Date2        Date3         Date4        REAL
2015-10-25    2015-09-25   2015-10-25   2015-11-25    2015-12-25   Date2
2012-07-16    2012-04-16   2012-05-16   2012-06-16    2012-07-16   Date4
2005-03-14    2005-07-14   2005-08-14   2005-09-14    2005-10-14   None
Run Code Online (Sandbox Code Playgroud)

提前致谢

python apache-spark apache-spark-sql pyspark

4
推荐指数
1
解决办法
8669
查看次数

PySpark 如何迭代 Dataframe 列并更改数据类型?

迭代 Spark Dataframe(使用 Pyspark)并找到数据类型Decimal(38,10)-> 将其更改为 Bigint(并将所有内容重新保存到同一数据帧)的最佳方法是什么?

我有一个用于更改数据类型的部分 - 例如:

df = df.withColumn("COLUMN_X", df["COLUMN_X"].cast(IntegerType()))
Run Code Online (Sandbox Code Playgroud)

但试图找到并与迭代集成..

谢谢。

python dataframe apache-spark apache-spark-sql pyspark

1
推荐指数
1
解决办法
8912
查看次数