Vaex:将更改应用于选择
Vaex: apply changes to selection
我想使用 Vaex 选择行,修改该选择上某些列的值,并将更改应用于原始数据框。
我可以进行选择并对该选择进行更改,但如何才能将它们移植到原始数据框?
df = vaex.from_pandas(pd.DataFrame({'a':[1,2], 'b':[3,4]}))
df_selected = df[df.a==1]
df_selected['b'] = df_selected.b * 0 + 5
df_selected
# a b
0 1 5
df
# a b
0 1 3
1 2 4
到目前为止,我想到的唯一解决方案是获得两个互补选择,修改我感兴趣的一个,然后将其与另一个选择连接起来。有更直接的方法吗?
您可能正在寻找 where
方法。
我觉得应该是这样的:
df = vaex.from_pandas(pd.DataFrame({'a':[1,2], 'b':[3,4]}))
df['c'] = df.func.where(df.a==1, df.b * 0 + 5, df.a)
where
语法是
where(if, then, else)
或 where(condition, if condition satisfied, otherwise)
.
我想使用 Vaex 选择行,修改该选择上某些列的值,并将更改应用于原始数据框。
我可以进行选择并对该选择进行更改,但如何才能将它们移植到原始数据框?
df = vaex.from_pandas(pd.DataFrame({'a':[1,2], 'b':[3,4]}))
df_selected = df[df.a==1]
df_selected['b'] = df_selected.b * 0 + 5
df_selected
# a b
0 1 5
df
# a b
0 1 3
1 2 4
到目前为止,我想到的唯一解决方案是获得两个互补选择,修改我感兴趣的一个,然后将其与另一个选择连接起来。有更直接的方法吗?
您可能正在寻找 where
方法。
我觉得应该是这样的:
df = vaex.from_pandas(pd.DataFrame({'a':[1,2], 'b':[3,4]}))
df['c'] = df.func.where(df.a==1, df.b * 0 + 5, df.a)
where
语法是
where(if, then, else)
或 where(condition, if condition satisfied, otherwise)
.