首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从月中的某一天起算平日

如何从月中的某一天起算平日
EN

Stack Overflow用户
提问于 2016-08-12 19:31:52
回答 5查看 53.3K关注 0票数 11

我有一个dataframe log_df:

我根据以下代码生成一个新的dataframe:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pyspark.sql.functions import split, regexp_extract 
split_log_df = log_df.select(regexp_extract('value', r'^([^\s]+\s)', 1).alias('host'),
                          regexp_extract('value', r'^.*\[(\d\d/\w{3}/\d{4}:\d{2}:\d{2}:\d{2} -\d{4})]', 1).alias('timestamp'),
                          regexp_extract('value', r'^.*"\w+\s+([^\s]+)\s+HTTP.*"', 1).alias('path'),
                          regexp_extract('value', r'^.*"\s+([^\s]+)', 1).cast('integer').alias('status'),
                          regexp_extract('value', r'^.*\s+(\d+)$', 1).cast('integer').alias('content_size'))
split_log_df.show(10, truncate=False)

新的dataframe如下:

我需要另一篇专栏文章来展示一周中的每一天,什么是最好的优雅的方式来创建它?理想情况下,只需在select中添加一个类似于udf的字段。

非常感谢。

更新:我的问题与注释中的问题不同,我需要的是根据log_df中的字符串进行计算,而不是像注释那样基于时间戳,所以这不是一个重复的问题。谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-08-13 02:57:19

我终于自己解决了这个问题,这是一个完整的解决方案:

  1. 导入date_format、日期时间、DataType
  2. 首先,修改regexp以提取01/Jul/1995
  3. 使用func将01/Jul/1995转换为DateType
  4. 创建一个udf dayOfWeek以获得一周的简短格式(Mon,Tue,.)
  5. 使用udf将DateType 01/Jul/1995转换为星期六的工作日

我对我的解决方案不满意,因为它似乎是如此的锯齿状,如果有人能想出一个更优雅的解决方案,我们将不胜感激,谢谢你提前。

票数 -5
EN

Stack Overflow用户

发布于 2017-06-07 10:13:40

我建议一些不同的方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pyspark.sql.functions import date_format
df.select('capturetime', date_format('capturetime', 'u').alias('dow_number'), date_format('capturetime', 'E').alias('dow_string'))
df3.show()

它给了..。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
+--------------------+----------+----------+
|         capturetime|dow_number|dow_string|
+--------------------+----------+----------+
|2017-06-05 10:05:...|         1|       Mon|
|2017-06-05 10:05:...|         1|       Mon|
|2017-06-05 10:05:...|         1|       Mon|
|2017-06-05 10:05:...|         1|       Mon|
|2017-06-05 10:05:...|         1|       Mon|
|2017-06-05 10:05:...|         1|       Mon|
|2017-06-05 10:05:...|         1|       Mon|
|2017-06-05 10:05:...|         1|       Mon|
票数 43
EN

Stack Overflow用户

发布于 2021-06-17 03:56:59

从Spark2.3开始,您可以使用一周中的Spark函数https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.sql.functions.dayofweek.html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pyspark.sql.functions import dayofweek
df.withColumn('day_of_week', dayofweek('my_timestamp'))

然而,这将一周的开始定义为星期日=1。

如果你不想那样做,而是要求星期一= 1,那么你可以做一个不雅的软糖,比如在使用“一周”函数之前减去一天,或者像这样修改结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pyspark.sql.functions import dayofweek
df.withColumn('day_of_week', ((dayofweek('my_timestamp')+5)%7)+1)
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38928919

复制
相关文章
如何在iOS 7.0中隐藏状态栏
使用Cordova做了一个小项目,在原来iOS6的时候显示挺好,升级为iOS7后,每次App启动后都会显示状态栏,而且状态栏和App的标题栏重叠在一起,非常难看,因此需要将状态栏隐藏起来。
大江小浪
2018/07/24
1.2K0
如何在iOS 7.0中隐藏状态栏
zblog怎么在移动端显示/隐藏侧栏模块
关于zblog主题模板手机移动端针对不同主题采用了不同的方案,有些是默认显示,有些不显示侧栏,总归没有一个完美的解决方案,所以今天就抽空水一篇文章,教大家怎么显示或者隐藏侧栏模板的内容。宁静致远主题没有侧栏,所以我们以这个主题模板为例,灌水开始。。。
李洋博客
2021/06/15
1.1K0
DrawerLayout侧滑栏
第一步:这是最基本的一个布局文件,里面有主界面布局,下面是包含一个button的按钮;
全栈程序员站长
2022/09/13
6670
如何在linux中重命名文件和目录
重命名文件和目录是你经常需要在Linux系统上执行的最基本任务之一。 重命名单个文件很简单,但一次重命名多个文件可能是一个挑战,特别是对于刚接触Linux的用户而言。你可以使用GUI文件管理器或命令行终端重命名文件。 在本教程中,我们将向你展示如何使用mv和rename命令重命名文件和目录。 使用mv命令重命名文件 mv命令(移动时间短)用于将文件从一个位置重命名或移动到另一个位置。mv命令的语法如下: mv [OPTIONS] source destination source可以是一个或多个文件或目录
入门笔记
2022/06/02
3.9K0
如何在Linux中删除目录的所有文件?
在Linux操作系统中,删除目录的所有文件是一项常见任务。无论是清理不需要的文件还是准备删除整个目录,正确地删除目录下的所有文件是重要的。本文将详细介绍如何在Linux中删除目录的所有文件,包括使用常见的命令和技巧进行操作。
网络技术联盟站
2023/06/08
17.2K0
如何在Linux中删除目录的所有文件?
如何在Ansible中复制多个文件和目录
Ansible 通过 copy 和 fetch 模块提供了基本的复制文件和目录的功能.
东风微鸣
2022/04/21
17.3K2
如何在Ansible中复制多个文件和目录
如何在Python中删除(删除)文件和目录
本教程说明了如何使用os,pathlib和shutil模块中的功能删除文件和目录。
用户5005176
2021/08/10
13.1K0
手机侧滑导航栏
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" /> <meta name="apple-touch-fullscreen" content="yes" /> <meta name="apple-m
用户3055976
2018/09/12
3.2K0
如何在git中删除指定的文件和目录
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113172.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/07
3.5K0
网页固定侧栏的做法
固定侧边的做法有很多种,今天为大家介绍一种非常简单的做法。整个html文档只有23行代码就搞定了。
业余草
2019/01/21
1.7K1
再议Linux文件、目录的隐藏属性(lsattr、chattr)
版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢。
耕耘实录
2018/12/20
2.9K0
侧栏恋爱计时代码分享
原文地址:https://blog.ascv.cn/archives/55.html
傲绝
2023/03/06
3810
侧栏恋爱计时代码分享
python 中目录、文件
2) open("test.txt",w)           直接打开一个文件,如果文件不存在则创建文件
py3study
2020/01/10
1.3K0
隐藏任务栏显示
我用ModifyStyleEx(WS_EX_APPWINDOW,0);隐藏了程序在任务栏的显示.
全栈程序员站长
2022/09/09
1.9K0
使用java8API遍历过滤文件目录及子目录及隐藏文件
本文中为大家介绍使用java8 Stream API逐行读取文件,以及根据某些条件过滤文件内容
字母哥博客
2020/09/23
1.4K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
AiDBA宝典
2019/09/30
28.8K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
执行du命令时统计隐藏文件和目录
在Linux和Mac下,执行du -sh 来统计目录大小时,默认不统计以点开头的文件或者目录,比如.local,因此得到不准确的统计结果。从这里知道,要统计隐藏文件和目录,可以这么用:
王云峰
2023/10/23
1.3K0
侧栏友链通讯录卡片
感觉好久好久没有写友链魔改和侧栏魔改的教程了,之前都是在捣鼓各种各样的API插件。然后我这次写的时候发现,我本地的widget文件夹里居然就剩下SAO相关的侧栏卡片pug文件了。看来我插件化的还是很勤快的嘛。不过SAO UI PLAN相关的内容还不打算做插件化,一方面我当初写的代码还比较差,一方面最近看到yamapink用vue封装的SAO UI,顿时萌生了我也要用vue来封装我所有的魔改教程的兴趣。
Akilar
2022/11/28
4360
侧栏友链通讯录卡片
点击加载更多

相似问题

复制dpdk pktgen为多个源地址读取的PCAP数据包

12

pktgen不能在ovs dpdk场景中发送数据包。

13

通过packetgen dpdk发送pcap

11

DPDK PktGen的构建问题

18

如何在dpdk-pktgen中发送大型帧

111
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文