我有以下数据框:
df1 = pd.DataFrame(np.random.randn(4,2),columns=["A","B"], index=["mon","tue","wed","thu"])
df1
A B
mon -1.903218 0.084362
tue -0.071207 -1.324411
wed -0.866212 -0.311787
thu -0.267956 0.802968
如果我进行以下切片操作,我会得到:
df1.ix[["mon","tue"],["A","B"]]
A B
mon -1.903218 0.084362
tue -0.071207 -1.324411
我认为这是有意的,但我希望得到的只是[-1.903218, -1.324411]
。即我想要组合行和列索引,而不是分别对行和列进行切片。
有什么想法?
答案 0 :(得分:4)
您可能需要lookup
method
df1.lookup(["mon", "tue"], ["A", "B"])
Out[42]: array([-1.903218, -1.324411])
答案 1 :(得分:1)
而不是:
df1.ix[["mon","tue"],["A","B"]]
尝试:
df1['A']['mon']
df1['B']['tue']
这会给你:
基于此,您可以创建一个函数来根据需要打印输出。
例如:
def locateDay(df, columns, rows):
#doSomething
df1[columns[0]][rows[0]]
df1[columns[1]][rows[1]]