gpt4 book ai didi

python - 如何根据三个数据框的 if 语句的结果创建数据框

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

我有三个具有相同列名的数据框 d1,d2,d3,我想创建一个新的数据框,当 d1 为 1 时,如果不分配 d3 的值,则将分配 d2 值。

Data frames

最佳答案

尝试使用掩码:

df3.mask(df1.astype(bool), df2)

或者,哪里:

df2.where(df1.astpye(bool), df3)

MCVE:

df1 = pd.DataFrame({'X1':[1]*4, 'X2':[0]+[1]*3, 'X3':[0]+[1]*3}, index = pd.date_range('7/10/2019', periods=4, freq='D'))

X1 X2 X3
2019-07-10 1 0 0
2019-07-11 1 1 1
2019-07-12 1 1 1
2019-07-13 1 1 1

df2 = pd.DataFrame(np.random.randint(0,100, (4,3)), columns=['X1','X2','X3'], index = pd.date_range('7/10/2019', periods=4, freq='D'))

X1 X2 X3
2019-07-10 66 92 98
2019-07-11 17 83 57
2019-07-12 86 97 96
2019-07-13 47 73 32

df3 = pd.DataFrame(np.random.randint(10000,1000000, (4,3)), columns=['X1','X2','X3'], index = pd.date_range('7/10/2019', periods=4, freq='D'))

X1 X2 X3
2019-07-10 699070 524272 206719
2019-07-11 767145 420963 569950
2019-07-12 472077 762036 418160
2019-07-13 664544 879444 869953

输出:

            X1      X2      X3
2019-07-10 66 524272 206719
2019-07-11 17 83 57
2019-07-12 86 97 96
2019-07-13 47 73 32

关于python - 如何根据三个数据框的 if 语句的结果创建数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58944655/

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