df.Change[-1] 产生错误。
df.Change[-1] producing errors.
我正在尝试从我的数据帧 df
中切出系列 Change
的最后一个值 df
。
数据框看起来像这样
Change
0 1.000000
1 0.917727
2 1.000000
3 0.914773
4 0.933182
5 0.936136
6 0.957500
14466949 1.998392
14466950 2.002413
14466951 1.998392
14466952 1.974266
14466953 1.966224
当我输入以下代码时
df.Change[0]
df.Change[100]
df.Change[100000]
我得到一个输出,但是当我输入时
df.Change[-1]
我收到以下错误
Traceback (most recent call last):
File "<pyshell#188>", line 1, in <module>
df.Change[-1]
File "C:\Python27\lib\site-packages\pandas\core\series.py", line 601, in __getitem__
result = self.index.get_value(self, key)
File "C:\Python27\lib\site-packages\pandas\indexes\base.py", line 2139, in get_value
tz=getattr(series.dtype, 'tz', None))
File "pandas/index.pyx", line 105, in pandas.index.IndexEngine.get_value (pandas\index.c:3338)
File "pandas/index.pyx", line 113, in pandas.index.IndexEngine.get_value (pandas\index.c:3041)
File "pandas/index.pyx", line 151, in pandas.index.IndexEngine.get_loc (pandas\index.c:3898)
KeyError: -1
几乎所有我用于切片的负数都会导致错误,我不确定为什么。
谢谢。
有几种方法可以做到这一点。发生的事情是 pandas 与 df.Change[100]
没有问题,因为 100
在其索引中。 -1
不是。您碰巧拥有与使用序数位置相同的索引。要明确获取序数位置,请使用 iloc
.
df.Change.iloc[-1]
或
df.Change.values[-1]
我正在尝试从我的数据帧 df
中切出系列 Change
的最后一个值 df
。
数据框看起来像这样
Change
0 1.000000
1 0.917727
2 1.000000
3 0.914773
4 0.933182
5 0.936136
6 0.957500
14466949 1.998392
14466950 2.002413
14466951 1.998392
14466952 1.974266
14466953 1.966224
当我输入以下代码时
df.Change[0]
df.Change[100]
df.Change[100000]
我得到一个输出,但是当我输入时
df.Change[-1]
我收到以下错误
Traceback (most recent call last):
File "<pyshell#188>", line 1, in <module>
df.Change[-1]
File "C:\Python27\lib\site-packages\pandas\core\series.py", line 601, in __getitem__
result = self.index.get_value(self, key)
File "C:\Python27\lib\site-packages\pandas\indexes\base.py", line 2139, in get_value
tz=getattr(series.dtype, 'tz', None))
File "pandas/index.pyx", line 105, in pandas.index.IndexEngine.get_value (pandas\index.c:3338)
File "pandas/index.pyx", line 113, in pandas.index.IndexEngine.get_value (pandas\index.c:3041)
File "pandas/index.pyx", line 151, in pandas.index.IndexEngine.get_loc (pandas\index.c:3898)
KeyError: -1
几乎所有我用于切片的负数都会导致错误,我不确定为什么。
谢谢。
有几种方法可以做到这一点。发生的事情是 pandas 与 df.Change[100]
没有问题,因为 100
在其索引中。 -1
不是。您碰巧拥有与使用序数位置相同的索引。要明确获取序数位置,请使用 iloc
.
df.Change.iloc[-1]
或
df.Change.values[-1]