我怀疑。我有一个数据帧df,我需要更改最后一行的索引,这可能很容易,但我遇到了麻烦:
<?php
echo "3";
?>
我需要在今天的日期2017-02-14的最后一行更改“0”索引,我该怎么做?
我试过了:
A B
2017-02-09 2.4 3.4
2017-02-10 3.4 3.2
2017-02-13 3.3 2.2
0 3.1 2.1
其中dt代表日期时间。它不起作用,任何想法?非常感谢你
答案 0 :(得分:2)
您可以使用DF.rename
和dict
映射来更改索引轴上的标签,如下所示:
import datetime
df.rename({df.index[-1]: datetime.date.today()}, inplace=True)
df.index = pd.to_datetime(df.index) # Convert dtype to DateTimeIndex
检查dtypes
:
df.index.dtype
dtype('<M8[ns]')
注意: 您无法使用set_index[..]
,因为这些引用了不可订阅的内置方法。相反,您必须像set_index(..)
一样用括号括起来。
通过将索引转换为系列代码并replacing
将最后一个值转换为今天的日期,以简洁的方式强制单行dtypes
:
df.index = pd.to_datetime(df.index.to_series().replace({df.index[-1]:datetime.date.today()}))
给出:
df.index
DatetimeIndex(['2017-02-09', '2017-02-10', '2017-02-13', '2017-02-14'],
dtype='datetime64[ns]', freq=None)
答案 1 :(得分:0)
ind = df.index.tolist()
ind[len(ind)-1] = dt.date.today()
df.index = ind