1
Учитывая это DataFrame
:Панды: создать словарь с кортежем в качестве ключа
import pandas as pd
first=[0,1,2,3,4]
second=[10.2,5.7,7.4,17.1,86.11]
third=['a','b','c','d','e']
fourth=['z','zz','zzz','zzzz','zzzzz']
df=pd.DataFrame({'first':first,'second':second,'third':third,'fourth':fourth})
df=df[['first','second','third','fourth']]
first second third fourth
0 0 10.20 a z
1 1 5.70 b zz
2 2 7.40 c zzz
3 3 17.10 d zzzz
4 4 86.11 e zzzzz
Я могу создать словарь со списком столбцов в качестве значений, например:
d = {df.loc[idx, 'first']: [df.loc[idx, 'second'], df.loc[idx, 'third']] for idx in range(df.shape[0])}
но как может Я создаю словарь с, скажем, кортежем, содержащий first
и second
в качестве ключа?
Результат будет выглядеть так:
In[1]:d
Out[1]:
{(0,10.199999999999999): 'a',
(1,5.7000000000000002): 'b',
(2,7.4000000000000004): 'c',
(3,17.100000000000001): 'd',
(4,86.109999999999999): 'e'}
PS: и как я мог убедиться, что pandas
не запутались с ценностями? 10,20 теперь стал +10,1999999999 ...