मेरे पास मल्टीइंडेक्स के साथ एक डेटाफ्रेम है

परिणाम =

MultiIndex([(1, 'HK_MN001'),
            (2, 'HK_MN001'),
            (3, 'HK_MN002'),
            (4, 'HK_MN003'),
            (5, 'HK_MN004'),
            (6, 'HK_MN005'),
            (7, 'HK_MN005'),
            (8, 'HK_MN005')],
           names=['ID1', 'ID2'])

सूचकांक के साथ एक और डेटाफ्रेम:

फोटो_डीएफ:

Int64Index([1, 2, 3, 4, 5, 6, 7, 8], dtype='int64', name='ID1')

मैं दोनों डेटाफ्रेम को जोड़ना चाहता हूं लेकिन यह मुझे त्रुटि देता है: कोड:

result = pd.concat([result,photo_df], axis = 1,sort=False)
 
error:
"Can only union MultiIndex with MultiIndex or Index of tuples, "

NotImplementedError: Can only union MultiIndex with MultiIndex or Index of tuples, try mi.to_flat_index().union(other) instead.

परिणाम डेटाफ्रेम है:

enter image description here

Photo_df डेटाफ्रेम है:

   PhotoID                          raw_photo
0        1  HK_MN001_DSC_2160_161014Ushio.JPG
1        2  HK_MN001_DSC_2308_161014Ushio.JPG
2        3  HK_MN002_DSC_2327_161014Ushio.JPG
3        4  HK_MN003_DSC_1474_181015Ushio.jpg
4        5  HK_MN004_DSC_1491_181015Ushio.jpg
5        6  HK_MN005_DSC_1506_181015Ushio.JPG
6        7  HK_MN005_DSC_1527_181015Ushio.JPG
7        8  HK_MN005_DSC_1528_181015Ushio.jpg

आवश्यक आउटपुट डेटाफ़्रेम:(यदि संभव हो तो इंडेक्स ड्रॉप करें = Id1) यहां छवि विवरण दर्ज करें

1
Krupali Mistry 2 सितंबर 2020, 10:48

1 उत्तर

सबसे बढ़िया उत्तर

मुझे लगता है कि आपको DataFrames दोनों में MultiIndex बनाने की जरूरत है:

photo_df = photo_df.set_index('PhotoID', drop=False)
photo_df.columns = pd.MultiIndex.from_product([photo_df.columns, ['']])
print (photo_df)
        PhotoID                          raw_photo
                                                  
PhotoID                                           
1             1  HK_MN001_DSC_2160_161014Ushio.JPG
2             2  HK_MN001_DSC_2308_161014Ushio.JPG
3             3  HK_MN002_DSC_2327_161014Ushio.JPG
4             4  HK_MN003_DSC_1474_181015Ushio.jpg
5             5  HK_MN004_DSC_1491_181015Ushio.jpg
6             6  HK_MN005_DSC_1506_181015Ushio.JPG
7             7  HK_MN005_DSC_1527_181015Ushio.JPG
8             8  HK_MN005_DSC_1528_181015Ushio.jpg



#second level ID2 is column
result = pd.concat([result.reset_index(level=1),photo_df], axis = 1,sort=False)
1
jezrael 2 सितंबर 2020, 11:24