Pandas - DatetimeIndex作为列标题

时间:2017-11-16 18:35:37

标签: python pandas multiple-columns heading

我的数据帧是438x14401。我有一个DateTimeIndex,其长度(宽度?)与数据框中的列相同,现在只标记为1 - ...我试图用DateTimeIndex中的日期替换这些值。

enter image description here

enter image description here

我正在尝试使用datetimeindex值替换列标题0 - end,其长度应匹配。我试过用日期重命名列并合并它们,但没有成功。这有可能吗?

stations = stations.iloc[:,2:].rename(columns=v, inplace=True)

1 个答案:

答案 0 :(得分:1)

您可以将DatetimeIndex直接分配到stations.columns

示例df:

df = pd.DataFrame({'a': [1,2,3], 'b': [9,8,7], 'c': [7,5,1], 'd':[1,3,5]})
df
   a  b  c  d
0  1  9  7  1
1  2  8  5  3
2  3  7  1  5

some_date_range = pd.date_range('2017-01-01', periods=len(df.columns))

df.columns = some_date_range

df
   2017-01-01  2017-01-02  2017-01-03  2017-01-04
0           1           9           7           1
1           2           8           5           3
2           3           7           1           5

保留前两个列值(引用How do i change a single index value in pandas dataframe?,因为Index不支持可变操作):

aslist = df.columns.tolist()
aslist[2:] = pd.date_range('2017-01-01', periods=2)
df.columns = aslist
df
   a  b  2017-01-01 00:00:00  2017-01-02 00:00:00
0  1  9                    7                    1
1  2  8                    5                    3
2  3  7                    1                    5