gpt4 book ai didi

python - 根据应用于两个数据帧的条件创建第三个数据帧

转载 作者:行者123 更新时间:2023-12-01 01:17:33 24 4
gpt4 key购买 nike

我有两个数据框:

df1 = pd.DataFrame(rng.rand(1000, 3), columns=['A', 'B', 'C'])
df2 = pd.DataFrame(rng.rand(1000, 3), columns=['A', 'B', 'C'])

我还有一列由“Y”和“N”组成:

df0['Split'] = ['Y', 'N', 'Y'...]

我想创建一个第三个数据帧,如果 df0['Split'] = 'Y',则返回 df1;如果 df0['Split'] = 'N',则返回 df2。如果可能的话,我想保留原始两个数据框的形状。

我想我可以做如下的事情:

if df0['Split'] == Y:
return df1
if df0['Split'] == N:
return df2
else:
return 0

实际上,我的专栏比 A 到 C 多得多。感谢您的帮助。

最佳答案

您可以使用 bool 过滤来构造两个数据帧,通过pd.concat组合,然后通过sort_index组合。该解决方案假设所有 3 个数据帧共享相同的索引。

mask = df0['Split'] == 'Y'
res = pd.concat([df1[mask], df2[~mask]]).sort_index()

关于python - 根据应用于两个数据帧的条件创建第三个数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54178834/

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