当incol
的值为1时,我有这个Daskmask
代码在Dask数据帧中设置3:
ddf['outcol'] = ddf['incol'].mask(ddf['incol'] == 1, 3)
现在,我必须替换给定的50个条件的值,例如:
if `incol` == 1 then set 3
if `incol` == 2 then set 8
: : :
: : :
在一个Dask语句中(不必是mask
)是否可以做到这一点?
只要这些替换不依赖于不同行之间的值,因此可以按任何顺序应用,就可以使用.map_partitions
来实现:
def apply_masks(df):
# implement the mask logic here, for example
df['outcol'] = df['incol'].mask(df['incol'] == 1, 3)
return df
ddf = ddf.map_partitions(apply_masks)
重复应用.mask()
可能存在问题,因为它将覆盖以前的结果。如果您的应用程序是这样的,您正在写入同一列outcol
,那么您可能需要.replace
或.map
选项(有关这些选项之间区别的良好解释,请参阅此答案)。
因此,在这种情况下,工作流程将是:
import pandas as pd
df = pd.DataFrame(range(10), columns=['incol'])
import dask.dataframe as dd
ddf = dd.from_pandas(df, npartitions=3)
replace_logic = {
1: 3,
2: 8,
3: 2,
# and so on ...
}
ddf['outcol'] = ddf['incol'].map(replace_logic).fillna(ddf['incol']).astype('int')
print(ddf.compute())
例如: 在上面的正则表达式中,我们需要检查name属性是否具有值“xyz”。 如果name属性包含“xyz”,那么它应该跳过type=“string”并将掩码9032905776作为***。
我真的不喜欢这样链接命令。有没有另一种方法在一个做?
一旦用户点击掩码映像,我们就允许用户上传自定义映像,如果只有一个掩码映像:https://codepen.io/kidsdial/pen/jjbvon就可以正常工作 要求: 但是如果有多个掩码映像,那么用户也应该能够上传所有掩码映像上的自定义映像[类似https://codepen.io/kidsdial/pen/rrmypr],但是现在它只适用于单个映像.... 2图像代码页:https://c
一旦用户点击掩码映像,我们就允许用户上传自定义映像,如果只有一个掩码映像:https://codepen.io/kidsdial/pen/jjbvon就可以正常工作 要求: 但是如果有多个掩码映像,那么用户也应该能够上传所有掩码映像上的自定义映像[类似https://codepen.io/kidsdial/pen/rrmypr],但是现在它只适用于单个映像.... 2图像代码页:https://c
我试图找到/创建一个位旋转算法,该算法在-bit-count位掩码中生成s的所有
问题内容: 一个非常简单的小问题,但是我不太明白该怎么做。 我需要将’_’的每个实例替换为空格,并将’#’的每个实例替换为空/空。 我已经试过了: 我真的不喜欢这样的链接命令。还有另一种方法可以做到这一点吗? 问题答案: 使用OR运算符(): 您还可以使用字符类: Fiddle 如果您想用一件事替换哈希值,而用另一件事替换下划线,则只需要链接即可。但是,您可以添加一个原型: 但是为什么不连锁呢?我