python-3.x - 需要使用python创建增量序列号
问题描述
我需要为 python 中给定的数据框值创建一个增量系列。非常感谢任何帮助
假设我有数据框列
df['quadrant']
Out[6]:
0 4
1 4
2 4
3 3
4 3
5 3
6 2
7 2
8 2
9 1
10 1
11 1
我想创建一个新列
index quadrant new value
0 4 1
1 4 5
2 4 9
3 3 2
4 3 6
5 3 10
6 2 3
7 2 7
8 2 11
9 1 4
10 1 8
11 1 12
解决方案
使用Numpy
,您可以将数组创建为:
import numpy as np
def value(q, k=1):
diff_quadrant = np.diff(q)
j = 0
ramp = []
for i in np.where(diff_quadrant != 0)[0]:
ramp.extend(list(range(i-j+1)))
j = i+1
ramp.extend(list(range(len(quadrant)-j)))
ramp = np.array(ramp) * k # sawtooth-shaped array
a = np.ones([len(quadrant)], dtype = np.int)*5
return a - q + ramp
quadrant = np.array([3, 3, 3, 3, 4, 4, 4, 2, 2, 1, 1, 1])
b = value(quadrant, 4)
# [ 2 6 10 14 1 5 9 3 7 4 8 12]
推荐阅读
- woocommerce - 为 woocommerce 我的帐户注册重新排序自定义“重复密码字段”
- mysql - 如何在 Azure Web 应用装载存储中指定带点的装载路径
- php - 我如何配置 XAMPP 以便它在 html 文档中执行?
- java - 无法解析方法 .getFilter()
- reactjs - NextJS/Typescript/Apollo 错误;类型上不存在属性
- javascript - Laravel Eloquent 使用 Ajax 进行多对多搜索
- sql - 如何选择一列以使今天的总数显示为昨天
- regex - Removing long tab-like white space in between strings in Perl
- amazon-rds - AWS RDS SQL Server 上的 Azure Devops 服务器
- javascript - API -> 为 getAll 创建可重用函数