当我执行以下操作时,试图通过列名来了解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: []
由于
答案 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')