Python 如何根据另一列的滚动和获取列值?
我想创建一个数据集,然后根据第一列中插入的数字确定第二列的值 首先,我想创建一个有两列的数据集(保留一列为空) 我要创建的数据集:(在“数字”列中,我要插入从1到50的所有连续数字)Python 如何根据另一列的滚动和获取列值?,python,python-3.x,pandas,Python,Python 3.x,Pandas,我想创建一个数据集,然后根据第一列中插入的数字确定第二列的值 首先,我想创建一个有两列的数据集(保留一列为空) 我要创建的数据集:(在“数字”列中,我要插入从1到50的所有连续数字) 以此类推,我想通过在列数中插入从1到50的值来计算从1到50的值的和,得到10个连续数的和 这是可能的,但然后使用以下命令获取第一个或最后一个NaNs: 或者使用参数min\u periods=1进行间隔1,1-2,1-3。。。对于首次填充NaNs: df['a'] = df['Numbers'].rolling
以此类推,我想通过在列数中插入从1到50的值来计算从1到50的值的和,得到10个连续数的和 这是可能的,但然后使用以下命令获取第一个或最后一个
NaN
s:
或者使用参数
min\u periods=1
进行间隔1
,1-2
,1-3
。。。对于首次填充NaN
s:
df['a'] = df['Numbers'].rolling(10, min_periods=1).sum()
print (df)
Numbers a
0 1 1.0
1 2 3.0
2 3 6.0
3 4 10.0
4 5 15.0
5 6 21.0
6 7 28.0
7 8 36.0
8 9 45.0
9 10 55.0
10 11 65.0
11 12 75.0
12 13 85.0
编辑:
如果可能,添加下一个值-此处范围为1
到61
,则可以创建滚动,然后删除最后的NaN
s行:
df = pd.DataFrame({'Numbers':range(1, 61)})
df['a'] = df['Numbers'].rolling(10).sum().shift(-9)
df = df.iloc[:50]
这是可能的,但随后使用以下命令获取第一个或最后一个
NaN
s:
或者使用参数
min\u periods=1
进行间隔1
,1-2
,1-3
。。。对于首次填充NaN
s:
df['a'] = df['Numbers'].rolling(10, min_periods=1).sum()
print (df)
Numbers a
0 1 1.0
1 2 3.0
2 3 6.0
3 4 10.0
4 5 15.0
5 6 21.0
6 7 28.0
7 8 36.0
8 9 45.0
9 10 55.0
10 11 65.0
11 12 75.0
12 13 85.0
编辑:
如果可能,添加下一个值-此处范围为1
到61
,则可以创建滚动,然后删除最后的NaN
s行:
df = pd.DataFrame({'Numbers':range(1, 61)})
df['a'] = df['Numbers'].rolling(10).sum().shift(-9)
df = df.iloc[:50]
非常感谢你,耶斯雷尔,这是我需要的。非常感谢你,耶斯雷尔,这是我需要的。
df = pd.DataFrame({'Numbers':range(1, 61)})
df['a'] = df['Numbers'].rolling(10).sum().shift(-9)
df = df.iloc[:50]
print (df)
Numbers a
0 1 55.0
1 2 65.0
2 3 75.0
3 4 85.0
4 5 95.0
5 6 105.0
6 7 115.0
7 8 125.0
8 9 135.0
9 10 145.0
10 11 155.0
11 12 165.0
12 13 175.0
13 14 185.0
14 15 195.0
15 16 205.0
16 17 215.0
17 18 225.0
18 19 235.0
19 20 245.0
20 21 255.0
21 22 265.0
22 23 275.0
23 24 285.0
24 25 295.0
25 26 305.0
26 27 315.0
27 28 325.0
28 29 335.0
29 30 345.0
30 31 355.0
31 32 365.0
32 33 375.0
33 34 385.0
34 35 395.0
35 36 405.0
36 37 415.0
37 38 425.0
38 39 435.0
39 40 445.0
40 41 455.0
41 42 465.0
42 43 475.0
43 44 485.0
44 45 495.0
45 46 505.0
46 47 515.0
47 48 525.0
48 49 535.0
49 50 545.0