[英]Simple example to understand vectorisation in Pandas
我是 Python 的新手,我正在尝试了解矢量化在 pandas 数据帧中的工作原理。
我们以这个 dataframe 为例:
df = pd.DataFrame([1,2,3,4,5,6,7,8,9,10])
假设我想添加一个值为 0 的新列flag
,如果第一列的条目低于df.mean()
值,否则为值 1。 结果将是:
df["flag"] = [0,0,0,0,0,1,1,1,1,1]
谁能解释我如何将此元素明智检查应用于 dataframe 与使用循环相比有什么区别?
您可以简单地编写比较,pandas 将负责 rest。 看看这个:
mean_val = df[0].mean() # The mean of your first column
df["flag"] = (df[0] >= mean_val).astype(int)
# the 'astype(int)' is used to get 1/0 instead of True/False
这样做的好处是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.