gpt4 book ai didi

python - 如何从每一列中选择一个特定索引?

转载 作者:行者123 更新时间:2023-11-28 16:32:47 25 4
gpt4 key购买 nike

假设我有一个像这样的 pandas.Dataframe:

x = DataFrame({ 'a': [7,6,8,0,2,5],
'b': [3,4,5,6,7,8],
'c': [3,8,5,6,0,1]}, index=[1,2,3,4,5,6])

然后,我有一个 pandas.Series,它为每个键提供了一个我想要选择的特定索引:

y = Series([4,1,6], index=['a','b','c'])

有什么办法可以用最好的 Pandas 方式找到这些索引吗?我希望避免循环遍历 pandas.Series 或 pandas.Dataframe,我更喜欢使用 .loc、.query 等命令。

最佳答案

您可以结合使用 locnp.diagonal 来实现这一点:

In [26]:

np.diagonal(x.loc[y])
Out[26]:
array([0, 3, 1], dtype=int64)

loc 此处将执行行标签查找:

In [27]:

x.loc[y]
Out[27]:
a b c
4 0 6 6
1 7 3 3
6 5 8 1

np.diagonal返回对角线上的值。

为了使列顺序稳健,我们可以专门使用标签查找的值和要选择的列的索引:

In [30]:

np.diagonal(x.loc[y.values, y.index])
Out[30]:
array([0, 3, 1], dtype=int64)

即使 y 中的列顺序与 x 列顺序不同,以上内容也适用。

关于python - 如何从每一列中选择一个特定索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30290595/

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