pandas 0.18中的pandas.PeriodIndex(astype(str))的结果

时间:2017-08-25 23:16:58

标签: pandas datetime

当我执行以下操作时,试图通过列名来了解pandas0.18告诉我的内容:

import pandas as pd
rng = pd.date_range('1/1/2011', periods=4, freq='Q')
df = pd.DataFrame(columns=pd.to_datetime(rng).to_period('Q'))
df2=pd.DataFrame(columns=df.columns.values.astype(str))
df2
Empty DataFrame
Columns: [164, 165, 166, 167]
Index: []

使用更高版本,这会产生预期的结果:

Empty DataFrame
Columns: [2011Q1, 2011Q2, 2011Q3, 2011Q4]
Index: []

由于

1 个答案:

答案 0 :(得分:0)

整数是自参考时间戳以来的单位数(在本例中为四分之一)。默认为Unix引用(01-01-1970)。有关参考选择的更多信息,请参阅to_datetime()中的origin参数。

例如,使用Pandas 0.20.3:

pd.to_datetime(pd.date_range('1/1/2011', periods=4, freq='Q')).to_period('Q').astype(int)
# Int64Index([164, 165, 166, 167], dtype='int64')

pd.to_datetime(pd.date_range('1/1/1970', periods=4, freq='Q')).to_period('Q').astype(int)
# Int64Index([0, 1, 2, 3], dtype='int64')