我有一个像这样的pandas数据框:
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
这样当我调用一个位置时,我可以根据测试编号(第二个键)访问值。
答案 0 :(得分:1)
df = df.set_index(["Location", "Test No."]) # Columns for dict keys
df_dict = df.to_dict("index") # Turn into dict
答案 1 :(得分:1)
你有pandas数据帧,你只需要堆叠它
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