Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.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 正在检查pyspark dataframe列的列_Python_Dataframe_Pyspark - Fatal编程技术网

Python 正在检查pyspark dataframe列的列

Python 正在检查pyspark dataframe列的列,python,dataframe,pyspark,Python,Dataframe,Pyspark,我想检查pyspark数据帧的每一列,如果该列满足特定的数据类型,那么它将执行某些功能。下面是我的代码和数据集 数据集: from pyspark.sql import SparkSession spark = SparkSession.builder.master('local').appName('Word Count').config('spark.some.config.option', 'some-value').getOrCreate() df = spark.createData

我想检查pyspark数据帧的每一列,如果该列满足特定的数据类型,那么它将执行某些功能。下面是我的代码和数据集

数据集:

from pyspark.sql import SparkSession

spark = SparkSession.builder.master('local').appName('Word Count').config('spark.some.config.option', 'some-value').getOrCreate()
df = spark.createDataFrame(
    [
        ('A',1),
        ('A', 2),
        ('A',3),
        ('A', 4),
        ('B',5),
        ('B', 6),
        ('B',7),
        ('B', 8),
    ],
    ['id', 'v']
) #I save this to csv so can just ignore my read csv park below.
代码:

from pyspark.sql import SQLContext
from pyspark.sql.types import *
from pyspark import SparkContext

sqlContext = SQLContext(sc)
df = sqlContext.read.load('test.csv',
                         format ='com.databricks.spark.csv',
                         header='true',
                         inferSchema='true')

from functools import reduce
from pyspark.sql.functions import col
import numpy as np

i = (reduce(lambda x, y: x.withColumn(y, np.where(col(y).dtypes != 'str', col(y)+2, col(y))), df.columns, df)) # this is the part that I wanted to change.
侧边学习要求:如果可能的话,谁能告诉我如何只编辑特定的栏目?我理解使用。选择,但如果可能,有人可以用一些数据集展示一些示例。多谢各位

我的预期产出:

+---+---+
| id|  v|
+---+---+
|  A|  3|
|  A|  4|
|  A|  5|
|  A|  6|
|  B|  7|
|  B|  8|
|  B|  9|
|  B|  10|
+---+---+

旁注:我是pyspark的新手,所以我不明白为什么需要使用“col”。它到底是什么?

文档将为您提供极大的帮助!为简单起见,可以从列的
循环开始
对于colnm,df中的dtyp。DTYPE:
,然后
如果其他的话
就足够了。完成后,您可以使用
map()
函数以简短的方式编写它。非常感谢您,我将对此进行记录。文档将对您有很大帮助!为简单起见,可以从列的
循环开始
对于colnm,df中的dtyp。DTYPE:
,然后
如果其他的话
就足够了。完成后,您可以使用
map()
函数以一种简短的方式编写它。非常感谢您,我将对此进行记录。