【发布时间】:2018-03-30 16:26:00
【问题描述】:
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)
假设你有一个熊猫数据框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() 调用的输出映射到另一个具有相同列名和索引的数据帧,但如果我知道如何进行上述转换,我可能会弄清楚这一点。
【问题讨论】:
-
你能澄清一下这个问题吗?您需要返回的值是否始终与索引和列的顺序相同? (即您总是想要对角线值)还是会在此
df.loc[ind,cols]中更改值的顺序? -
你为 ind 和 cols 传递了什么给你的结果?显然传递
ind和cols只是传递您上面定义的所有索引和列,那么您为什么会期望一个奇异值呢?
标签: python pandas dataframe indexing