DataFrame中日期格式的转化(逻辑简单的遍历+字符串方法)

Tips:只是做题时忽然想到的一种思路,性能不太ok但可以实现

统计df数据的时候经常遇到,数据格式看起来为datetime,实际上是 string,如YYYY/MM/DD HH/MM/SS 这样的能够看懂日期但不属于datetime格式的数据,这个时候要提取年或年月日就会比较困难

而这些数据本身是具有固定格式的,其年份/月份等等信息在字符串中的位置相对而言比较 固定
如取年份时,位置一定是字符串前四位

因此,有这样一种思路:
1.遍历该列的所有数据
2.对每一个字符串数据进行切割,或许字符串中需要的片段
3.将每条数据处理后的结果储存成数组,再放进dataframe中的新一行中

这样我们就能够得到新的一列,关于想要时间的数据

下面以获取YYYY/MM/DD HH/MM/SS中的YYYY/MM/DD为例
考虑到月日的长度变化,在遍历时进行判断,截取正确位置的数据

dateList = []

for i in range(len(df1)):
    cur = df1.iloc[i]['Date']

    if(cur[8] == ' '):
        dateList.append(cur[:8])
    elif (cur[9] == ' '):
        dateList.append(cur[:9])
    else:
        dateList.append(cur[:10])

data = pd.Series(dateList)
df1["Day"] = pd.(data)

Original: https://blog.csdn.net/Yuki_Aruki/article/details/125024261
Author: YK_Ark
Title: DataFrame中日期格式的转化(逻辑简单的遍历+字符串方法)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/675653/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球