我正在尝试在python中编写一个for循环,该循环将一个数组px
中的每个ith元素与另一个数组中的ith元素进行比较py
。如果in中的元素px
大于或等于,则py
我想将该值记为True
或1。
这是一些代码。
import pandas as pd
import random
px = np.random.normal(loc=0, scale=1, size=1000)
py = np.random.normal(loc=0, scale=1, size=1000)
for x, y in zip(px, py):
print("{}% {}".format(x, y))
if px[i] >= py[i]:
px['status'] = True
if px[i] < py[i]:
px['status'] = False
最终数据框应如下所示:
px py status
-2.24239571e-01 -1.83834445e+00 False
1.20102447e+00 5.01755172e-03 False
8.82060986e-02 -2.55639665e-02 True
我知道我的for循环有一些问题。
如果要提高速度,则不应遍历数组。相反,可以使用进行矢量化操作中的比较df['status'] = px >= py
。从您的问题尚不清楚数据是否已存在于Dataframe中,因此从头开始:
import numpy as np
import pandas as pd
px = np.random.normal(loc=0, scale=1, size=1000)
py = np.random.normal(loc=0, scale=1, size=1000)
df = pd.DataFrame({'px': px, 'py': py, 'status': px >= py})
print(df.head())
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句