gpt4 book ai didi

python - 使用列表从 Pandas 数据框中选择单个值

转载 作者:太空狗 更新时间:2023-10-29 21:17:09 24 4
gpt4 key购买 nike

import numpy as np
import pandas as pd

ind = [0, 1, 2]
cols = ['A','B','C']
df = pd.DataFrame(np.arange(9).reshape((3,3)),columns=cols)

假设你有一个 pandas 数据框 df 看起来像:

    A  B  C
0 0 1 2
1 3 4 5
2 6 7 8

如果您想从 cols 中特定索引 ind 的每一列中捕获单个元素,输出应该看起来像一个系列:

 A  0
B 4
C 8

到目前为止我尝试过的是:

 df.loc[ind,cols]

这给出了不需要的输出:

   A  B  C
0 0 1 2
1 3 4 5
2 6 7 8

有什么建议吗?

上下文:下一步是将一个数据帧的 df.idxmax() 调用的输出映射到具有相同列名和索引的另一个数据帧上,但如果我知道该怎么做,我很可能会弄明白上面提到的改造。

最佳答案

你可以使用DataFrame.lookup() :

In [6]: pd.Series(df.lookup(df.index, df.columns), index=df.columns)
Out[6]:
A 0
B 4
C 8
dtype: int32

或:

In [14]: pd.Series(df.lookup(ind, cols), index=df.columns)
Out[14]:
A 0
B 4
C 8
dtype: int32

解释:

In [12]: df.lookup(df.index, df.columns)
Out[12]: array([0, 4, 8])

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

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