csv文件中的第2列如下所示:
20150926T104044Z
20150926T104131Z
,依此类推。
我创建了一个定义,可以将列出的日期更改为朱利安日期,但是想知道如何才能更改此特定数据列吗?
有没有办法让python将csv中的日期更改为与julian日期等效的日期?我可以将列拆分为两个csv并从那里转换朱利安日期吗?
答案 0 :(得分:0)
您可能想得太多。试试这个。
cdf=pd.DataFrame(df['list'].tolist(),index=df.index)
mask=(cdf.isin(df.ss).any(1))&(cdf.isin(df.dd).any(1))
df[~mask]
Out[589]:
ss dd list
0 A B [B, E, F]
2 A C [A, D, E]
答案 1 :(得分:0)
我观察到Julian Day有多种解释,一种是原始日期(一年中的某天),另一种是从公元前4713年1月1日星期一开始的一天。
import pandas as pd
import datetime
import jdcal
df = pd.read_csv("path/to/your/csv")
def tojulianDate(date):
return datetime.datetime.strptime(date, '%Y%m%dT%H%M%SZ').strftime('%y%j')
def tojulianDate2(date):
curr_date = datetime.datetime.strptime(date, '%Y%m%dT%H%M%SZ')
curr_date_tuple = curr_date.timetuple()
return int(sum(jdcal.gcal2jd(curr_date_tuple.tm_year, curr_date_tuple.tm_mon, curr_date_tuple.tm_mday)))
df['Calendar_Dates'] = df['Calendar_Dates'].apply(tojulianDate2)
df.to_csv('path/to/modified/csv')
方法“ toJulianDate”可用于获取一年中的某天或原始日期。 对于第二种格式,有一个名为jdcal的库,用于将公历日期转换为儒略日,反之亦然,这是在toJulianDate2中完成的。也可以通过打开csv直接完成此操作,而无需加载到数据帧中。
这里有类似的问题Extract day of year and Julian day from a string date in python