python - Pandas 数据框范围索引

标签 python pandas dataframe machine-learning

我创建了一个 Pandas DataFrame。我需要为与框架对应的 DataFrame 创建一个 RangeIndex - RangeIndex(start=0, stop=x, step=y) - 其中 xy 与我的 DataFrame 相关。

我还没有看到如何执行此操作的示例 - 是否有特定于此的方法或语法?

谢谢

最佳答案

看来您需要 RangeIndex 构造函数:

df = pd.DataFrame({'A' : range(1, 21)})
print (df)
     A
0    1
1    2
2    3
3    4
4    5
5    6
6    7
7    8
8    9
9   10
10  11
11  12
12  13
13  14
14  15
15  16
16  17
17  18
18  19
19  20


print (df.index)
RangeIndex(start=0, stop=20, step=1)
<小时/>
df.index = pd.RangeIndex(start=0, stop=99, step=5)
print (df)
     A
0    1
5    2
10   3
15   4
20   5
25   6
30   7
35   8
40   9
45  10
50  11
55  12
60  13
65  14
70  15
75  16
80  17
85  18
90  19
95  20

print (df.index)
RangeIndex(start=0, stop=99, step=5)

更动态的解决方案:

step = 10
df.index = pd.RangeIndex(start=0, stop=len(df.index) * step - 1, step=step)
print (df)
      A
0     1
10    2
20    3
30    4
40    5
50    6
60    7
70    8
80    9
90   10
100  11
110  12
120  13
130  14
140  15
150  16
160  17
170  18
180  19
190  20

print (df.index)
RangeIndex(start=0, stop=199, step=10)

编辑:

正如 @ZakS 在评论中指出的那样,最好只使用 DataFrame 构造函数:

df = pd.DataFrame({'A' : range(1, 21)}, index=pd.RangeIndex(start=0, stop=99, step=5))
print (df)
0    1
5    2
10   3
15   4
20   5
25   6
30   7
35   8
40   9
45  10
50  11
55  12
60  13
65  14
70  15
75  16
80  17
85  18
90  19
95  20

关于python - Pandas 数据框范围索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44452751/

相关文章:

python - 在数据帧上使用 pandas 的重新索引方法时,为什么原始值会丢失?

python - 神经网络中 DataFrame 的批量输入

python - 将二进制数据从 Python 传递到 C API 扩展

python-3.x - 使用 scipy.stats.mstats.winsorize 对我的样本进行 1% 和 99% 的 winsorize 后,我的样本的最大值仍然大于 99% 时的值

python - 包含数组的 Pandas 系列

dataframe - 具有特定列类型的 Julia 数据框

c# - 将sql server查询结果发送到局域网内所有计算机

python - NLTK:如何遍历名词短语以返回字符串列表?

python - 如何在python中访问多行变量的第n行

python - 在 Pandas Dataframe 中进行分组时的多重聚合