gpt4 book ai didi

python - 使用第二个数据框中的值从一个数据框中选择

转载 作者:太空宇宙 更新时间:2023-11-04 09:31:11 25 4
gpt4 key购买 nike

我有两个具有相同索引和列的数据框:

In: import pandas as pd
import numpy as np
import random
df1 = pd.DataFrame({'A' : [ random.random(), random.random(), random.random()],
'B' : [ random.random(), random.random(), random.random()],
'C' : [ random.random(), random.random(), random.random()]})
df2 = pd.DataFrame({'A' : [random.randint(0,10), random.randint(0,10), random.randint(0,10)],
'B' : [random.randint(0,10), random.randint(0,10), random.randint(0,10)],
'C' : [random.randint(0,10), random.randint(0,10), random.randint(0,10)]})


df1
Out:
A B C
0 0.424566 0.054485 0.830993
1 0.673692 0.754941 0.621544
2 0.890594 0.805776 0.878123
In: df2
Out:

A B C
0 9 9 3
1 4 6 6
2 10 2 9

我想根据 df2 中的相应值从 df1 中选择值并将其作为数组返回。

例如在上面的示例中按值 6 选择将返回 [0.754941, 0.621544]

我查看了mask,但看不到如何将掩码从一个 df 应用到第二个 df。

最佳答案

如果两个 DataFrme 中的索引和列相同,则可以使用来自 df2 的掩码索引和由 to_numpy 创建的 2d array值(value)观:

#pandas 0.24+
a = df1.to_numpy()[df2 == 6]
#oldier pandas versions
#a = df1.values[df2 == 6]
print (a)
[0.754941 0.621544]

关于python - 使用第二个数据框中的值从一个数据框中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55682800/

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