Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Dataframe_Arraylist_Subtraction - Fatal编程技术网

带列表的python减法,不带第一个

带列表的python减法,不带第一个,python,list,dataframe,arraylist,subtraction,Python,List,Dataframe,Arraylist,Subtraction,我想减去这两个列表。但是,没有第一个(没有01621和0) 我该怎么办 part1 = [0.16217332 0.31666873 0.51007364 0.66299792 0.83379235 1. ] part2 = [0. 0.26212295 0.42225925 0.61941848 0.81022938 1. ] 我想要减法[(0.31666873-0.26212295)(0.51007364-0.42225925)(0.662997

我想减去这两个列表。但是,没有第一个(没有01621和0) 我该怎么办

part1 = [0.16217332 0.31666873 0.51007364 0.66299792 0.83379235 1.        ]
part2 = [0.         0.26212295 0.42225925 0.61941848 0.81022938 1.        ]
我想要减法
[(0.31666873-0.26212295)(0.51007364-0.42225925)(0.66299792-0.61941848)(0.83379235-0.81022938)(1-1)]

使用Python有很多方法可以解决这个问题,例如:

part1 = [0.16217332, 0.31666873, 0.51007364, 0.66299792, 0.83379235, 1.0  ]
part2 = [0.0,         0.26212295, 0.42225925, 0.61941848, 0.81022938, 1.0]

r = [part1[i] - part2[i] for i in range(1,len(part1)) ]

print(r)


下面是一个使用numpy的解决方案,它允许对两个数组进行矢量化减法:

part1 = [0.16217332, 0.31666873, 0.51007364, 0.66299792, 0.83379235, 1.0  ]
part2 = [0.0,         0.26212295, 0.42225925, 0.61941848, 0.81022938, 1.0]

p1 = np.asarray(part1[1:])
p2 = np.asarray(part2[1:])
result = list(p1-p2)

#[0.05454577999999999, 0.08781439000000002, 0.043579440000000025, 0.02356296999999996, 0.0]

你试过什么吗?到底是什么问题?您使用的是pandas.DataFrame吗?您的帖子使用dataframe标记,但不使用Pandas。使用列表理解和zip&enumeration。您还可以将列表转换为numpy数组,并以这种方式减去它们