当我使用Series.reset_index()
时,我的变量变成DataFrame
对象。有没有办法重置系列的索引而不会产生这个结果?
上下文是基于概率(monte carlo sim)的随机选择的模拟,其中使用series.pop(item)
省略了从系列中进行的选择。
我需要重置索引,因为我会迭代以创建累积频率序列。
答案 0 :(得分:2)
您可以在drop=True
中尝试.reset_index
,即series.reset_index(drop=True, inplace=True)
根据document:
drop:boolean,默认为False
不要尝试将索引插入到dataframe列中。
示例:
series = pd.Series([1,2,3,4,5,1,1])
print(series)
系列结果:
0 1
1 2
2 3
3 4
4 5
5 1
6 1
dtype: int64
从系列中选择一些值:
filtered = series[series.values==1]
print(filtered)
结果:
0 1
5 1
6 1
dtype: int64
重新设定索引:
filtered.reset_index(drop=True, inplace=True)
print(filtered)
结果:
0 1
1 1
2 1
dtype: int64
type(filtered)
仍然会返回Series
。