0

使用 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

到目前为止,我想到的唯一解决方案是获得两个互补的选择,修改我感兴趣的一个,然后将它与另一个选择连接。有没有更直接的方法来做到这一点?

4

1 回答 1

0

您可能正在寻找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)or 。where(condition, if condition satisfied, otherwise)

于 2021-07-10T11:25:28.560 回答