繁体   English   中英

Python pandas - 串联替换零串

[英]Python pandas - Replace string of Zeros in series

我有一个 pandas dataframe 的日期变量,其日期格式如下“2011-01-11 01:11:11.111111+00”。 但是,某些时间戳为 0 的日期的格式类似于“2011-01-11 00:00:00.+00”。

我写了一个简单的 function 来去除最后 10 位数字,只留下没有小数的日期和时间。 但在剥离之前,我需要将日期标准化为 0,以便与所有其他日期具有相同数量的字符。

到目前为止,我尝试了这段代码,但没有发生任何变化。 没有给出错误信息。

df['time'] = df['time'].replace({"00:00:00+00":"00:00:00.000000+00"}, regex=True). 

我还尝试使用 regex=False 并尝试使用 str.replace 代替。

PS这里是我的 function 去除数字:

def strip_n_chars(df, col, n): 
    values = df[col]
    df[col]= values.str[:-n]
    

现在有谁可以替换 0 时间戳? 或者知道另一种方法来删除所有日期以结束“2011-01-11 00:00:00”?

如果尚未完成,第一步可能应该使用pd.to_datetimedf['time']列放入 Timestamp 中。
然后您可以使用dt 访问器使用strftime 方法访问您喜欢的格式 output 。
例如:

df['timestamp'] = pd.to_datetime(df['time'])
df['nice_date'] = df['timestamp'].dt.strftime('%x %X') #2011-01-11 00:00:00

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM