मैं एकाधिक पांडस डेटाफ्रेम को जोड़ने की कोशिश कर रहा हूं, जिनमें से कुछ बहु-अनुक्रमण का उपयोग करते हैं और अन्य एकल सूचकांक का उपयोग करते हैं।सिंगल और मल्टीइंडेक्स पेंडस डेटाफ्रेम को कैसे गठबंधन करें
> level_dict = {}
> level_dict[('level 1','a','h')] = [1,2,3]
> level_dict[('level 1','b','j')] = [5,6,7]
> level_dict[('level 2','c','k')] = [10, 11, 12]
> level_dict[('level 2','d','l')] = [20, 21, 22]
> df2 = pd.DataFrame(level_dict)
> df2
level 1 level 2
a b c d
h j k l
0 1 5 10 20
1 2 6 11 21
2 3 7 12 22
अब मैं दो dataframes श्रेणीबद्ध करना चाहते हैं: उदाहरण के लिए, के निम्नलिखित एकल अनुक्रमित dataframe पर विचार करते हैं:
> import pandas as pd
> df1 = pd.DataFrame({'single': [10,11,12]})
> df1
single
0 10
1 11
2 12
एक multiindex dataframe के साथ। जब मैं concat
इस्तेमाल करने की कोशिश यह multiindex सपाट इस प्रकार है:
> df3 = pd.concat([df2,df1], axis=1)
> df3
(level 1, a, h) (level 1, b, j) (level 2, c, k) (level 2, d, l) single
0 1 5 10 20 10
1 2 6 11 21 11
2 3 7 12 22 12
मैं multiindex dataframe df2
करने के लिए एक एकल स्तंभ संलग्न, तो इसके बजाय इस प्रकार है:
> df2['single'] = [10,11,12]
> df2
level 1 level 2 single
a b c d
h j k l
0 1 5 10 20 10
1 2 6 11 21 11
2 3 7 12 22 12
मैं कैसे बजाय से इस dataframe उत्पन्न कर सकते हैं df1
और df2
concat
, merge
, या join
के साथ?
धन्यवाद @chrisb! मैंने एक सरल और अधिक सामान्य दृष्टिकोण की उम्मीद की थी, लेकिन मैं यहां आपके समाधान के साथ एक समाधान तैयार करने में सक्षम था जो मेरी आवश्यकताओं को पूरा करता है – wbinventor