python - 在 .csv 中切片和编辑日期
问题描述
蟒蛇新手,
尝试使用 pandas 对准备进行比较的数据集进行排序,但是我需要先编辑某些方面,然后才能进行比较。我的每个日期之前都有一个“A”,需要删除。除此之外,日期本身的格式是 YYYYDDD 需要更改为 DD/MM/YYYY 或我的其他数据集需要更改为 YYYYDDD,以最简单的为准。
我删除“A”的尝试如下,除了可能使用库“datetime”之外,我什至不知道从哪里开始修改日期。
import pandas as pd
import datetime
csv = '/home/student/Desktop/Ben_Folder/AirQuality/Test/2002_DDV.csv'
df = pd.read_csv(csv)
test = df(columns='Date'[1:7])
test.to_csv('Test.csv', header=['Date', 'AOD'])
数据集示例如下:
Date AOT
0 A2002185 0.0
1 A2002185 0.0
2 A2002185 0.0
3 A2002185 0.0
4 A2002185 0.0
解决方案
Pandas 中的日期存储为整数。您看到的任何其他内容都只是这些整数的字符串表示形式。一旦您意识到这一点,您将体会到转换为datetime
对象的好处。
在这里您可以使用pd.to_datetime
,它允许您指定格式:
df['Date'] = pd.to_datetime(df['Date'], format='A%Y%j')
print(df)
Date AOT
0 2002-07-04 0.0
1 2002-07-04 0.0
2 2002-07-04 0.0
3 2002-07-04 0.0
4 2002-07-04 0.0
Python 的strftime
指令是构建自定义字符串格式的有用资源。
推荐阅读
- selenium - 如何根据 HTML 使用 xpath 识别复选框
- google-maps - Google Java Script API 的 API 密钥
- wordpress - 如何将社交媒体图标重新定位为右侧固定侧导航栏中的菜单列表项?
- php - 致命错误:未捕获的 PDOException:SQLSTATE[HY000]:一般错误:获取模式需要类名参数
- python - 缓存 Spark Dataframe 以提高速度
- c# - 为什么不能这样实现接口
- javascript - 如何使用 javascript 在任何驱动器中创建文本文件
- javascript - 从 nodejs/expressjs 中的 postman 提取二进制数据(文件)
- vba - 不匹配错误 VBA 的适当定义
- java - docker运行rocketeq错误