হাই, আমি কনডাক্টটি দিয়ে খনন করেছি, যোগ দিয়েছি এবং পান্ডাদের জন্য একত্রীকরণের পদ্ধতিগুলি এবং আমার যা চাইছে তা খুঁজে পাচ্ছে না।
ধরে নিই আমার কাছে দুটি ডেটা ফ্রেম রয়েছে
A = pd.DataFrame("A",index=[0,1,2,3,4],columns=['Col 1','Col 2','Col 3'])
B = pd.DataFrame("B",index=[0,1,2,3,4],columns=['Col 1','Col 2','Col 3'])
>>> A
Col 1 Col 2 Col 3
0 A A A
1 A A A
2 A A A
3 A A A
4 A A A
>>> B
Col 1 Col 2 Col 3
0 B B B
1 B B B
2 B B B
3 B B B
4 B B B
এখন আমি কলামগুলিকে একীভূত করে একটি নতুন ডেটাফ্রেম তৈরি করতে চাই, আমি কীভাবে কলামগুলি চাই তার জন্য একটি বহু সূচক তৈরি করি কিনা তা ব্যাখ্যা করা সবচেয়ে সহজ বলে আমি মনে করি
index = pd.MultiIndex.from_product([A.columns.values,['A','B']])
>>> index
MultiIndex(levels=[['Col 1', 'Col 2', 'Col 3'], ['A', 'B']],
labels=[[0, 0, 1, 1, 2, 2], [0, 1, 0, 1, 0, 1]])
এখন যদি আমি কলামগুলির জন্য এই বহু সূচকে একটি খালি ডেটা ফ্রেম করি
empty_df = pd.DataFrame('-',index=A.index,columns=index)
>>> empty_df
Col 1 Col 2 Col 3
A B A B A B
0 - - - - - -
1 - - - - - -
2 - - - - - -
3 - - - - - -
4 - - - - - -
আমার প্রশ্নটি হ'ল আমি কীটি একীভূত, কনক্যাট, বা যোগদানের জন্য এটি ব্যবহার করতে পারি? আমি কনক্যাট ... অভ্যন্তরীণ, বাহ্যিক ইত্যাদির জন্য একাধিক জিনিস চেষ্টা করেছি যা আমি চাই তা পাই না। কেবলমাত্র আমি যা ভাবতে পারি তা হ'ল খালি ডেটা ফ্রেম তৈরি করা এবং তারপরে ফিরে আসা।
সম্পাদনা: জিজরেলের প্রতিক্রিয়া চেষ্টা করার পরে, এটি ঠিক তবে এটি ঠিক নয়। আমি যা চাই তা বাছাইয়ের নেস্টেড কলামগুলির মতো? উদাহরণ স্বরূপ
empty_df['Col 1']
>>> empty_df['Col 1']
A B
0 - -
1 - -
2 - -
3 - -
4 - -
অথবা
>>> empty_df['Col 1']['A']
0 -
1 -
2 -
3 -
4 -
Name: A, dtype: object
সুতরাং এটি এমন একটি সমাধান যা আমি এনেছি তবে এটি কলামগুলিতে পুনরাবৃত্তি হতে পারে।
row_idx = A.index.union(B.index)
col_idx = pd.MultiIndex.from_product([A.columns.values,['A','B']])
new_df = pd.DataFrame('-',index=row_idx,columns=col_idx)
for column in A.columns:
new_df.loc[:,(column,'A')] = A[column]
new_df.loc[:,(column,'B')] = B[column]
>>> new_df
Col 1 Col 2 Col 3
A B A B A B
0 A B A B A B
1 A B A B A B
2 A B A B A B
3 A B A B A B
4 A B A B A B
>>> new_df['Col 1']
A B
0 A B
1 A B
2 A B
3 A B
4 A B
>>> new_df['Col 1']['A']
0 A
1 A
2 A
3 A
4 A
Name: A, dtype: object