আমি ValueError: cannot reindex from a duplicate axisযখন একটি নির্দিষ্ট মানকে একটি সূচক সেট করার চেষ্টা করছি তখন আমি এটি পেয়ে যাচ্ছি। আমি একটি সাধারণ উদাহরণ দিয়ে এটি পুনরুত্পাদন করার চেষ্টা করেছি, কিন্তু আমি এটি করতে পারিনি।
ipdbট্রেস এর ভিতরে আমার সেশন এখানে । আমার কাছে স্ট্রিং সূচক সহ ডেটাফ্রেম এবং পূর্ণসংখ্যা কলাম, ভাসমান মান রয়েছে। তবে আমি যখন sumসমস্ত কলামের যোগফলের জন্য সূচক তৈরির চেষ্টা করব তখন ValueError: cannot reindex from a duplicate axisত্রুটি হয়ে যাচ্ছি । আমি একই বৈশিষ্ট্য সহ একটি ছোট ডেটাফ্রেম তৈরি করেছি, তবে সমস্যাটি পুনরুত্পাদন করতে সক্ষম হইনি, আমি কী অনুপস্থিত হতে পারি?
আমি আসলে বুঝতে পারছি না এর ValueError: cannot reindex from a duplicate axisঅর্থ কী, এই ত্রুটি বার্তার অর্থ কী? হয়তো এটি আমাকে সমস্যা নির্ণয় করতে সহায়তা করবে এবং এটি আমার প্রশ্নের সর্বাধিক জবাবদিহি অংশ।
ipdb> type(affinity_matrix)
<class 'pandas.core.frame.DataFrame'>
ipdb> affinity_matrix.shape
(333, 10)
ipdb> affinity_matrix.columns
Int64Index([9315684, 9315597, 9316591, 9320520, 9321163, 9320615, 9321187, 9319487, 9319467, 9320484], dtype='int64')
ipdb> affinity_matrix.index
Index([u'001', u'002', u'003', u'004', u'005', u'008', u'009', u'010', u'011', u'014', u'015', u'016', u'018', u'020', u'021', u'022', u'024', u'025', u'026', u'027', u'028', u'029', u'030', u'032', u'033', u'034', u'035', u'036', u'039', u'040', u'041', u'042', u'043', u'044', u'045', u'047', u'047', u'048', u'050', u'053', u'054', u'055', u'056', u'057', u'058', u'059', u'060', u'061', u'062', u'063', u'065', u'067', u'068', u'069', u'070', u'071', u'072', u'073', u'074', u'075', u'076', u'077', u'078', u'080', u'082', u'083', u'084', u'085', u'086', u'089', u'090', u'091', u'092', u'093', u'094', u'095', u'096', u'097', u'098', u'100', u'101', u'103', u'104', u'105', u'106', u'107', u'108', u'109', u'110', u'111', u'112', u'113', u'114', u'115', u'116', u'117', u'118', u'119', u'121', u'122', ...], dtype='object')
ipdb> affinity_matrix.values.dtype
dtype('float64')
ipdb> 'sums' in affinity_matrix.index
False
ত্রুটি এখানে:
ipdb> affinity_matrix.loc['sums'] = affinity_matrix.sum(axis=0)
*** ValueError: cannot reindex from a duplicate axis
আমি একটি সাধারণ উদাহরণ দিয়ে এটি পুনরুত্পাদন করার চেষ্টা করেছি, কিন্তু আমি ব্যর্থ হয়েছি
In [32]: import pandas as pd
In [33]: import numpy as np
In [34]: a = np.arange(35).reshape(5,7)
In [35]: df = pd.DataFrame(a, ['x', 'y', 'u', 'z', 'w'], range(10, 17))
In [36]: df.values.dtype
Out[36]: dtype('int64')
In [37]: df.loc['sums'] = df.sum(axis=0)
In [38]: df
Out[38]:
10 11 12 13 14 15 16
x 0 1 2 3 4 5 6
y 7 8 9 10 11 12 13
u 14 15 16 17 18 19 20
z 21 22 23 24 25 26 27
w 28 29 30 31 32 33 34
sums 70 75 80 85 90 95 100