有没有办法用NON数字索引创建2D矩阵?更重要的是,使用那些非数字索引来获取/设置值?
我的意思是拥有像
这样的2D矩阵 mat=
one two three
A 1 2 3
B 4 5 6
然后能够设置/获取
>>>m13=mat[A,three]
>>> m13
>>> 3
任何想法片段都表示赞赏。我在考虑使用“熊猫”,但无法弄明白。
答案 0 :(得分:3)
您可以使用loc
:
import pandas as pd
mat = pd.DataFrame({'three': {'A': 3, 'B': 6},
'two': {'A': 2, 'B': 5},
'one': {'A': 1, 'B': 4}},
columns = ['one','two','three'])
print mat
one two three
A 1 2 3
B 4 5 6
#GET
print mat.loc['A', 'three']
3
#SET
mat.loc['A', 'three'] = 10
print mat
one two three
A 1 2 10
B 4 5 6
编辑:
您也可以从numpy array
创建DataFrame
:
print arr
[[1 2 3]
[4 5 6]]
mat = pd.DataFrame(arr, index=['A','B'], columns=['one','two','three'])
one two three
A 1 2 3
B 4 5 6