On 2020-02-16 00:50, Markos wrote:
Hi all,
I created the following data frame (updated_distance_matrix)
P1 P2 P4 P5 (P3, P6)
P1 0,000000 0,244307 0,367696 0,341760 0
P2 0.234307 0.000000 0.194165 0.1443178 0
P4 0.366969 0.194165 0.000000 0.284253 0
P5 0.341760 0.1443178 0.284253 0.000000 0
(P3, P6) 0.000000 0.000000 0.000000 0.000000 0
I can change the fields of columns and rows P1-P5 without problems.
But when I try to access the fields of the row, or column, (P3, P6)
print (updated_distance_matrix_df.loc [clusters [i], last_cluster])
the message appears:
KeyError: 'the label [P3, P6] is not in the [index]'
The rows and columns have "(P3, P6)", but you're looking for "[P3, P6]".
They aren't the same.
If I change find the "loc" by "at" method appears the error:
print (updated_distance_matrix_df.at [clusters [i], last_cluster])
TypeError: unhashable type: 'list'
Is it expecting a tuple instead of a list? Tuples are hashable, lists
are not.
And if you simply leave:
print (updated_distance_matrix_df [clusters [i], last_cluster])
gives the error:
TypeError: unhashable type: 'list'
A last_cluster variable is of type list:
print (last_cluster, type (last_cluster))
['P3', 'P6'] <class 'list'>
And a variable cluster [i] is a string:
print (clusters [i], type (clusters [i]))
P5 <class 'str'>
Any tip?
Thank you,
--
https://mail.python.org/mailman/listinfo/python-list