重置 Series 索引而不转换为 DataFrame
Reset Series index without turning into DataFrame
当我使用 Series.reset_index()
时,我的变量变成了 DataFrame
对象。有什么方法可以重置系列的索引而不会产生这种结果?
上下文是基于概率 (monte carlo sim) 的随机选择的模拟,其中从系列中做出的选择被省略 series.pop(item)
。
我需要重置索引,因为我要遍历以创建累积频率序列。
您可以在 .reset_index
中尝试 drop=True
即 series.reset_index(drop=True, inplace=True)
根据document:
drop : boolean, default False
Do not try to insert index into dataframe columns.
示例:
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)
还是returnsSeries
.
当我使用 Series.reset_index()
时,我的变量变成了 DataFrame
对象。有什么方法可以重置系列的索引而不会产生这种结果?
上下文是基于概率 (monte carlo sim) 的随机选择的模拟,其中从系列中做出的选择被省略 series.pop(item)
。
我需要重置索引,因为我要遍历以创建累积频率序列。
您可以在 .reset_index
中尝试 drop=True
即 series.reset_index(drop=True, inplace=True)
根据document:
drop : boolean, default False
Do not try to insert index into dataframe columns.
示例:
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)
还是returnsSeries
.