[英]python pandas parse_dates for multiple columns in csv file
我正在使用 Python pandas 進行兩個 csv 文件的比較,但在具有 5 個日期列的 csv 文件中,我在 read_csv 方法中使用了 parse_date=['dateofbirth','lastupdates','dateofjoin','dateofresign,'endoftrade'] 但是它只解析出生日期而不是 csv 文件中的所有列。
代碼:
csv_pandas=pd.read_csv("path of the csv file",parse_date=['dateofbirth','lastupdates','dateofjoin','dateofresign,'endoftrade'])
print(csv_pandas)
CSV 文件:
dateofbirth lastupdates dateofjoin dateofresign
05/06/2021 00:00:00PM 12/13/2021 12:00:00PM 12/13/2021 12:00:00PM 12/13/2021 12:00:00PM
column non-null count Dtype
------ ------------- ------
dateofbirth non-null object
dateofbirth non-null datetime64[ns]
dateofbirth non-null datetime64[ns]
dateofbirth non-null datetime64[ns]
我只能轉換對象 Dtype 列,剩余的 datetime64[ns] 不解析
我大約有 160 個 csv 文件,每個 csv 文件都有不同的列名,任何人都可以建議
strptime()
格式指令。assign()
dict理解中csv_pandas = csv_pandas.assign(
**{
c: pd.to_datetime(csv_pandas[c], format="%Y-%m-%d %H:%M:%S:%f", errors="ignore")
for c in parse_date
if c in csv_pandas.select_dtypes("object").columns
}
).pipe(
lambda d: d.assign(
**{
c: pd.to_datetime(d[c], format="%m/%d/%Y %H:%M:%S%p", errors="ignore")
for c in parse_date
if c in d.select_dtypes("object").columns
}
)
)
csv_pandas.dtypes
dateofbirth datetime64[ns]
lastupdates datetime64[ns]
dateofjoin datetime64[ns]
dateofresign datetime64[ns]
dtype: object
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.