gpt4 book ai didi

python - 将日期和时间(时间戳)合并到数据帧列表中

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

我希望将日期和时间合并到数据帧列表上的一个时间戳中,并指定调用日期的一周。

这是错误: ValueError:无法将字符串转换为时间戳

我使用了以下功能:

def new_call_time(df):
i=0
df[' CALL_DATE_MANIPULATED']=str(df['CALL_DATE'][i]).split()[0] + ' ' + str(df['CALL_TIME'][i])
df[' UNIX_TIME']= pd.Timestamp(df[' CALL_DATE_MANIPULATED'][i]).value//10 ** 9
df[' WEEK']=''

for i in range(len(df)):
df[' CALL_DATE_MANIPULATED'][i]=str(df['CALL_DATE'][i]).split()[0] + ' ' + str(df['CALL_TIME'][i])
df[' UNIX_TIME'][i]= pd.Timestamp(df[' CALL_DATE_MANIPULATED'][i]).value// 10 ** 9
df[' WEEK'][i]=df[' UNIX_TIME'][i]//604800

return df

这是函数调用语句:

for df in data_frame : 
df = new_call_time(df)

以下是我从 Excel 工作表中读取的表格(包含在名为 data_frame 的列表中):

    CALL_DATE    CALL_TIME
01-JAN-2016 00:15:06
01-JAN-2016 07:07:00

CALL_DATE CALL_TIME
01-JAN-2016 08:40:38
01-JAN-2016 08:44:14

CALL_DATE CALL_TIME
01-JAN-2016 08:51:10
01-JAN-2016 09:06:31

这适用于单个数据帧,但不适用于数据帧列表。

新表也应具有以下列:示例:data_frame[0] -

     CALL_DATE       CALL_TIME  CALL_DATE_MANIPULATED UNIX_TIME  WEEK
01-JAN-2016 00:15:06 01-JAN-2016 00:15:06 1451607306 2400
01-JAN-2016 07:07:00 01-JAN-2016 07:07:00 1451632020 2400

非常感谢:)))

最佳答案

使用Series.str.split索引 str[0] 然后 to_datetime如果某些值与 format 中定义的格式不匹配,则使用参数 errors='coerce' for NaT (参数格式是为了获得更好的性能,但应该是省略):

def new_call_time(df):
df['CALL_DATE_MANIPULATED'] = (df['CALL_DATE'].astype(str).str.split().str[0] + ' ' +
df['CALL_TIME'].astype(str))
dates = pd.to_datetime(df['CALL_DATE_MANIPULATED'],
errors='coerce',
format='%d-%b-%Y %H:%M:%S')
df['UNIX_TIME'] = dates.values.astype(np.int64) // 10 ** 9
df['WEEK'] = df['UNIX_TIME'] //604800
return df

在新的DataFrame列表的列表理解中调用函数:

data_frame1 = [new_call_time(df) for df in data_frame]

关于python - 将日期和时间(时间戳)合并到数据帧列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53680401/

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