Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据另一列的滚动和获取列值?_Python_Python 3.x_Pandas - Fatal编程技术网

Python 如何根据另一列的滚动和获取列值?

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的值来计算从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