gpt4 book ai didi

python - Numpy where 函数相当于 pandas

转载 作者:行者123 更新时间:2023-12-01 06:36:25 27 4
gpt4 key购买 nike

我正在根据系列的某些条件添加一个新列。

我有一个 numpy.where 语句如下:

df['New_Col']= np.where(df['Name']=='John', df['Class'], 'Unknown')

但是它在大数据上花费了大量时间,所以我尝试使用 pd.Series.apply 函数来完成相同的任务:

df['New_Col'] = df['Name'].apply(lambda name: df['Class'] if name == 'John' else 'Unknown')

但只要条件满足,它就会分配整个系列,但理想情况下我只想为该迭代分配等效行

如果有人对此有任何意见,请告知,或者纠正我以更有效的方式替换 np.where

提前致谢。

最佳答案

Dask解决方案:

您实际上不需要使用 where 函数:

df['New_Col'] = df['Class'][df['Name']=='John']

然后用您想要的值填充 NaN 值:

df['New_Col'] = df['New_Col'].fillna('Unknown')

关于python - Numpy where 函数相当于 pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59647690/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com