gpt4 book ai didi

Python Spark - 如何创建一个新列,对数据帧上的现有列进行切片?

转载 作者:行者123 更新时间:2023-12-01 06:36:59 25 4
gpt4 key购买 nike

我需要通过在同一数据帧上切片当前列来在数据帧上创建一个新列。

start_time:timestamp

START_TIME
2017-03-25T13:14:32.000+0000
2018-03-25T13:14:32.000+0000
2019-03-25T13:14:32.000+0000
2020-03-25T13:14:32.000+0000
2021-03-25T13:14:32.000+0000

我的输出应该是这样的

START_TIME                        NEW_START_TIME
2017-03-25T13:14:32.000+0000 2017-03-25
2018-03-25T13:14:32.000+0000 2018-03-25
2019-03-25T13:14:32.000+0000 2019-03-25
2020-03-25T13:14:32.000+0000 2020-03-25
2021-03-25T13:14:32.000+0000 2021-03-25

我尝试了几种方法,但都没有效果。

tpv =  dataset.start_time_example

tpv['new_start_time'] = tpv['start_time'].slice(0,10)

类型错误:“列”对象不可调用

tpv['newstartdate'] = tpv['start_time'].slice.str[:10]

类型错误:startPos 和 length 必须是同一类型。分别获得类“NoneType”和类“int”。

newstartdate = tpv['start_time'].slice(0,10)
tpv['newstartdate'] = newstartdate

类型错误:“列”对象不可调用

你能帮我解决这个问题吗? (我使用的是Python 3)

最佳答案

尝试一下它应该可以工作。

from pyspark.sql import functions as f
df.withColumn("new_start_time",f.to_date(f.to_timestamp(df.start_time))).show()

关于Python Spark - 如何创建一个新列,对数据帧上的现有列进行切片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59618164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com