我真的很感谢您的建议。我做了一个像下面这样写的练习:
第一列(索引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")
能帮我吗?
谢谢
答案 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。