import numpy as np
import pandas as pd
tempdata = np.random.random(10)
myseries = pd.Series(tempdata)
newseries = myseries[2:6]
现在,如果我将 newseries 放在 pd.Series 中并希望重新编制索引(我知道索引是不可变的),它会带有一些字母 我遇到以下错误。
根据pandas文档系列可以接受数据作为Python字典或ndarray或缩放器值
newseries = pd.Series(newseries, index = ['a','b','c','d'])
C:\Users\user110244\Anaconda3\lib\site-packages\pandas\formats\format.py:2191: RuntimeWarning: invalid value encountered in greater
has_large_values = (abs_vals > 1e6).any()
C:\Users\user110244\Anaconda3\lib\site-packages\pandas\formats\format.py:2192: RuntimeWarning: invalid value encountered in less
has_small_values = ((abs_vals < 10**(-self.digits)) &
C:\Users\user110244\Anaconda3\lib\site-packages\pandas\formats\format.py:2193: RuntimeWarning: invalid value encountered in greater
(abs_vals > 0)).any()
此错误持续显示,直到我重新启动Python.Even,如果尝试执行其他简单的命令说
a = 2
同样的错误再次发生。 我只是想知道为什么会这样?如果我在某个地方错了,那么最好显示错误而不是连续重复同样的事情。这是一个错误吗?请解释
我的系统详情如下: - Python 3.5.2 | Anaconda 4.1.1(64位)| (默认,2016年7月5日,11:41:13)[MSC v.1900 64 bit(AMD64)] Win10 Pro
答案 0 :(得分:1)
我没有得到同样的错误。由于指数'a','b'等不在原始序列中,因此它们会得到NaN值,并且数字会丢失。
我认为你想丢弃旧索引并从一个新索引开始,所以你可以做到
newseries = pd.Series(newseries.values, index = ['a','b','c','d'])