在NumPy数组中格式化日期数据

时间:2019-02-21 11:13:56

标签: python arrays numpy datetime data-science

我真的很感谢您的建议。我做了一个像下面这样写的练习:

  

第一列(索引0)包含四位数字的年份值   格式为YYYY(2016年,因为我们数据集中的所有行程均来自   2016)。使用分配将这些值更改为YY格式(16)   test_array ndarray。

我用代码来解决它:

test_array[:,0] = test_array[:,0]%100

但是我敢肯定,它必须是一种更通用,更聪明的方法来与日期时间或其他日期获得相同的结果。但我找不到它。我尝试了此代码的不同变体,但我没有弄错:

dt.datetime.strptime(str(test_array[:,0]), "%Y")
test_array[:,0] = dt.datetime.strftime("%y")

能帮我吗?

谢谢

1 个答案:

答案 0 :(得分:1)

为了将年份从YYYY格式转换为YY格式,将需要中间的datetime值,可以通过以下方式对strftime之类的操作进行操作:

df.iloc[:, 0] = df.iloc[:, 0].apply(lambda x: pd.datetime(x, 1, 1).strftime('%y'))

这里要获取datetime值,我们需要3个参数:年,月和日,其中有年,其余部分的值默认为1。