我有一个看起来像这样的DataFrame
Sigma JulianDay
0 -9.05 2.451545e+06
1 -10.99 2.451545e+06
2 -8.42 2.451546e+06
3 -8.92 2.451547e+06
4 -10.79 2.451547e+06
5 -9.53 2.451548e+06
Run Code Online (Sandbox Code Playgroud)
我想将列'JulianDay'转换为格里高利日期.为此,我使用了jdcal 1.3软件包和已定义的函数jd_to_date(jd)
d = df['JulianDay'].apply(jd_to_date)
df['GregDate'] = d
Run Code Online (Sandbox Code Playgroud)
结果是:
Sigma JulianDay GregDate
0 -9.05 2.451545e+06 (2000, 1, 1)
1 -10.99 2.451545e+06 (2000, 1, 1)
2 -8.42 2.451546e+06 (2000, 1, 2)
3 -8.92 2.451547e+06 (2000, 1, 3)
4 -10.79 2.451547e+06 (2000, 1, 3)
5 -9.53 2.451548e+06 (2000, 1, 4)
Run Code Online (Sandbox Code Playgroud)
输出还告诉我,我正在处理一个对象类型:
Name: JulianDay, dtype: object
Run Code Online (Sandbox Code Playgroud)
我现在的问题是,我想将GregDate列转换为datetime,以便我能够将GregDate设置为索引.但是dtype:对象在尝试时给了我麻烦
df['GregDate'] = pd.to_datetime(d) …Run Code Online (Sandbox Code Playgroud) 我有一个每天的数据集,范围是2000-2010。我已经通过设置了“ GregDate”列
df.set_index(pd.DatetimeIndex(df['GregDate']))
Run Code Online (Sandbox Code Playgroud)
作为索引。现在,我只想调查从十一月到三月的十年(所有十年)。
我的数据框如下所示:
Sigma Lat Lon
GregDate
2000-01-01 -5.874062 79.913437 -74.583125
2000-01-02 -6.794000 79.904000 -74.604000
2000-01-03 -5.826061 79.923939 -74.548485
2000-01-04 -5.702439 79.916829 -74.641707
...
2009-07-11 -10.727381 79.925952 -74.660714
2009-07-12 -10.648000 79.923667 -74.557333
2009-07-13 -11.123095 79.908810 -74.596190
[3482 rows x 3 columns]
Run Code Online (Sandbox Code Playgroud)
我已经看过这个问题,但仍然无法解决我的问题。