我有以下数据帧:

corr_temp_df

[('vacationdate', 'date'),

('valueE', 'string'),

('valueD', 'string'),

('valueC', 'string'),

('valueB', 'string'),

('valueA', 'string')]

现在我想将列vacationdate的数据类型更改为String,这样数据帧也会采用这种新类型并覆盖所有条目的数据类型数据.例如.写完后:

corr_temp_df.dtypes

应该覆盖vacationdate的数据类型.

我已经使用了诸如cast,StringType或astype之类的函数,但我没有成功.你知道怎么做吗?

解决方法:

让我们创建一些虚拟数据:

import datetime

from pyspark.sql import Row

from pyspark.sql.functions import col

row = Row("vacationdate")

df = sc.parallelize([

row(datetime.date(2015, 10, 07)),

row(datetime.date(1971, 01, 01))

]).toDF()

如果Spark> = 1.5.0,您可以使用date_format函数:

from pyspark.sql.functions import date_format

(df

.select(date_format(col("vacationdate"), "dd-MM-YYYY")

.alias("date_string"))

.show())

在Spark< 1.5.0可以使用Hive UDF完成:

df.registerTempTable("df")

sqlContext.sql(

"SELECT date_format(vacationdate, 'dd-MM-YYYY') AS date_string FROM df")

它当然仍然可以在Spark> = 1.5.0中使用.

如果您不使用HiveContext,则可以使用UDF模仿date_format:

from pyspark.sql.functions import udf, lit

my_date_format = udf(lambda d, fmt: d.strftime(fmt))

df.select(

my_date_format(col("vacationdate"), lit("%d-%m-%Y")).alias("date_string")

).show()

标签:python,apache-spark,pyspark,apache-spark-sql

来源: https://codeday.me/bug/20191001/1837960.html

pyspark 修改python版本_python – Pyspark从日期到字符串更改列的类型相关推荐

  1. PySpark之Python版本如何选择(详细版)

    问题背景 公司目前有两套Spark集群和一套Hadoop集群用来做 数据相关的存储和计算.Hadoop的版本是2.7,Spark两套集群,一个是2.1.0版本,一个是 2.4.3版本.但是两个Spar ...

  2. colab修改python版本

    在使用出colab进行模型训练时,发现colab的python版本更新为了3.7.11,而我的代码要在python3.6下才行配置好环境,于是,开始修改python版本,并配置环境. 1.使用如下命令 ...

  3. pysparkpython版本_pyspark修改python版本

    ubuntu自带的python 版本是2.7, 我们要把pyspark默认改成anaconda python 3.6 down vot You can specify the version of P ...

  4. mac修改默认python版本_Mac系统修改Python版本软链接

    通常Mac系统自带Python版本都是2.x,但在工作中,越来越多的库,框架都需要更高的版本3.x,有三种升级方式,一种是Brew安装,一种是在Python官网下载,还有一种是使用第三方软件,如Ana ...

  5. python antlr4需要的python 版本_python多版本管理器pyenv

    查看Linux版本 1[root@web ~]# cat /etc/redhat-release 2CentOS Linux release 7.6.1810 (Core) 3[root@web ~] ...

  6. 有多个python版本_python 多版本共存

    有时候需要在同一台机器上安装多个版本的python 常见的解决方式如下: 一. 1. 下载python2.7和python3.7,然后在C盘下新建一个Python文件夹, python2.7安装到  ...

  7. anaconda对应python版本_Python基础——如何查看python版本、如何查看多个python版本

    前言 初学者来说,安装python过程是存在一定难度的. 在安装过程中,可能安装了多个python版本,可能安装了anaconda导致有自带的python,同时本身电脑也安装了官方下载的python也 ...

  8. linux修改python版本修改哪个配置文件_linux安装python修改默认python版本方法

    linux默认是安装了python,默认是安装python2.6.6,可能安装的版本是不能符合我们需要的python要求的.我们需要重新安装python的版本,今天演示一下安装python3 首先下载 ...

  9. cpickle支持的python版本_Python cPickle模块(转)

    持久性就是指保持对象,甚至在多次执行同一程序之间也保持对象.通过本文,您会对 Python对象的各种持久性机制(从关系数据库到 Python 的 pickle以及其它机制)有一个总体认识.另外,还会让 ...

最新文章

  1. 全球及中国生物医药产业供给需求前景与运营风险分析报告2022版
  2. java检测tomcat宕机_Tomcat意外宕机分析
  3. 梯度算法的matlab程序,基于MATLAB的梯度法源代码
  4. HTML+CSS+JS实现 ❤️流星天体动画场景特效❤️
  5. 转:flex [Inspectable]标签详解
  6. 圆弧裁剪算法c++_箍筋算法之争:按外皮长度计算与按中心线长度计算究竟相差多少?...
  7. python while循环例题_【学习笔记】python:5for循环与while循环(上)
  8. 单机部署RabbltMQ环境的操作记录
  9. NameError: name 'reload' is not defined等python版本问题解决方案
  10. Mysql基于Linux上的安装
  11. 真来了!已有高校正式通知:排查近5年硕博学位论文!
  12. js获取服务器控件DropDownList所选中的各项属性
  13. Cinema 4D R25 for mac(c4d r25)快捷键分享
  14. 【C/C++】LibVLC库在逐帧提取的开发中回调设置帧格式
  15. 硬石-专题04 步进电机控制(第1节)_步进电机基本知识介绍1
  16. dell主板恢复出厂设置_DELL戴尔电脑BIOS怎么恢復初始状态
  17. 【KITTI】KITTI数据集简介(四) — 标定校准数据calib
  18. 2021年中国农作物播种面积、农作物成灾面积及造成直接经济损失情况分析[图]
  19. MxDraw云图平台(H5网页CAD) 2022.11.15更新
  20. 程序员女朋友的相册是这样的

热门文章

  1. jQuery学习--选择器的使用
  2. 抽象类-(抽象类的样子)
  3. Des与3Des加密解密
  4. 【STM32】IIC的基本原理(实例:普通IO口模拟IIC时序读取24C02)(转载)
  5. IOS 修改UIAlertController的按钮标题的字体颜色,字号,内容
  6. 06-CABasicAnimation基础核心动画
  7. git reflog and checkout
  8. Java中间件:淘宝网系统高性能利器
  9. redis 登录_Redis集群架构+Dubbo开发框架+SSO单点登录+Nginx+ZooKeeper
  10. linux c 指针和内存分配内存,linux-C基础系列-内存管理(野指针).md