Pandas 有两个或多个键的字典
我有一个熊猫数据框,看起来像这样:Pandas 有两个或多个键的字典,pandas,dictionary,dataframe,Pandas,Dictionary,Dataframe,我有一个熊猫数据框,看起来像这样: Location Test No. Type Value.1 Value.2 M-1 Test1 A 0.020 2.912 M-1 Test2 B 0.072 20.21 M-1 Test3 A 0.010 4.888 M-1 Test4 C 0.045 9.461
Location Test No. Type Value.1 Value.2
M-1 Test1 A 0.020 2.912
M-1 Test2 B 0.072 20.21
M-1 Test3 A 0.010 4.888
M-1 Test4 C 0.045 9.461
M-2 Test1 B 0.020 2.912
M-2 Test2 B 0.072 20.21
M-2 Test3 C 0.010 4.888
Location Test No. Type Value.1 Value.2
M-1 Test1 A 0.020 2.912
Test2 B 0.072 20.21
Test3 A 0.010 4.888
Test4 C 0.045 9.461
M-2 Test1 B 0.020 2.912
Test2 B 0.072 20.21
Test3 C 0.010 4.888
我想使用第一列和第二列作为键将其转换为字典。我想,我需要一本这样的字典:
Location Test No. Type Value.1 Value.2
M-1 Test1 A 0.020 2.912
M-1 Test2 B 0.072 20.21
M-1 Test3 A 0.010 4.888
M-1 Test4 C 0.045 9.461
M-2 Test1 B 0.020 2.912
M-2 Test2 B 0.072 20.21
M-2 Test3 C 0.010 4.888
Location Test No. Type Value.1 Value.2
M-1 Test1 A 0.020 2.912
Test2 B 0.072 20.21
Test3 A 0.010 4.888
Test4 C 0.045 9.461
M-2 Test1 B 0.020 2.912
Test2 B 0.072 20.21
Test3 C 0.010 4.888
因此,当我调用一个位置时,我可以根据测试编号(第二个键)访问值 df=df.set_索引([“位置”,“测试编号])#dict键列
df_dict=df.to_dict(“index”)#变成dict
您有熊猫数据帧,您只需与它叠加即可
df=df.set_index(['Location','TestNo.'])
df
Out[298]:
Type Value.1 Value.2
Location TestNo.
M-1 Test1 A 0.020 2.912
Test2 B 0.072 20.210
Test3 A 0.010 4.888
Test4 C 0.045 9.461
M-2 Test1 B 0.020 2.912
Test2 B 0.072 20.210
Test3 C 0.010 4.888
df.loc[('M-1','Test1')]
Out[299]:
Type A
Value.1 0.02
Value.2 2.912
Name: (M-1, Test1), dtype: object
正如我所希望的:)这个效果很好。我没有想到仅仅使用数据框。谢谢:)@Bob yw~:-)因为df可以携带更多信息:-)