如果能给我一个建议,我将不胜感激。我做了一个练习,就像下面写的:
第一列(索引0)包含四位数的年份值
格式为YYYY(2016,因为我们数据集中的所有行程都来自
2016年)。使用赋值将这些值更改为中的YY格式(16)
测试数组ndarray。
我用一个代码来解决它:
test_array[:,0] = test_array[:,0]%100
但我相信它必须是一个更普遍和更聪明的方法,才能得到与datetime或smth-else相同的结果。但我找不到。我尝试了不同的代码变体,但我没有错:
dt.datetime.strptime(str(test_array[:,0]), "%Y")
test_array[:,0] = dt.datetime.strftime("%y")
你能帮我做这个吗?
谢谢你
最佳答案
为了将年份从YY YY格式转换为YY格式,需要中间的datetime
值,在该值上可以按以下方式执行strftime
等操作:
df.iloc[:, 0] = df.iloc[:, 0].apply(lambda x: pd.datetime(x, 1, 1).strftime('%y'))
在这里,要获得
datetime
值,我们需要3个参数:年、月和日,其中我们有年,其余的值假设为1作为默认值。关于python - 在NumPy数组中格式化日期数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54805749/