Python 正在检查pyspark dataframe列的列
我想检查pyspark数据帧的每一列,如果该列满足特定的数据类型,那么它将执行某些功能。下面是我的代码和数据集 数据集: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
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()
函数以一种简短的方式编写它。非常感谢您,我将对此进行记录。