2017-01-06 20 views
5

मैं निम्नलिखित dataframe है:पांडा DataFrame में पिछले पंक्तियों के रूप में शब्दकोशों सम्मिलित करने के लिए कैसे

import pandas as pd 
df = pd.DataFrame({'id':['a','b','c','d','e'], 
        'Sample1':[-14,-90,-90,-96,-91], 
        'Sample2':[-103,0,-110,-114,-114], 
        'Sample3':[1,2.3,3,5,6], 
}) 

df.set_index('id', inplace=True) 
df 

यह इस तरह दिखता है:

Sample1 Sample2 Sample3 
id 
a  -14  -103  1.0 
b  -90  0  2.3 
c  -90  -110  3.0 
d  -96  -114  5.0 
e  -91  -114  6.0 

मैं निम्नलिखित शब्दकोश

सम्मिलित करना चाहते हैं
mydict = { 
    "Sample1": 0.000000000001, 
    "Sample3": 0.039690000000000003, 
    "Sample2": 0.05824 
} 

    mydict2 = { 
     "Sample1": 0.7, 
     "Sample3": 0.3, 
     "Sample2": 0.8 
    } 

इंडेक्स (पंक्ति) नाम एसआरटी और एसआरटी 2 के साथ अंतिम कॉलम के रूप में।

पैदावार:

Sample1 Sample2 Sample3 
id 
a  -14  -103  1.0 
b  -90  0  2.3 
c  -90  -110  3.0 
d  -96  -114  5.0 
e  -91  -114  6.0 
SRT  0.23 0.39  0.05 
SRT2 0.7  0.3  0.8 

मैं ऐसा कैसे हासिल कर सकते हैं?

उत्तर

7

आप loc उपयोग कर सकते हैं:

df.loc['SRT'] = pd.Series(mydict) 
df.loc['SRT2'] = pd.Series(mydict2) 

print (df) 
     Sample1 Sample2 Sample3 
id         
a -14.00000 -103.00000 1.00000 
b -90.00000 0.00000 2.30000 
c -90.00000 -110.00000 3.00000 
d -96.00000 -114.00000 5.00000 
e -91.00000 -114.00000 6.00000 
SRT 0.02321 0.05824 0.03969 
SRT2 0.70000 0.80000 0.30000 

concat साथ समाधान:

df1 = pd.DataFrame([mydict, mydict2], index=['SRT','SRT2']) 
print (df1) 
     Sample1 Sample2 Sample3 
SRT 0.02321 0.05824 0.03969 
SRT2 0.70000 0.80000 0.30000 

print (pd.concat([df,df1])) 
     Sample1 Sample2 Sample3 
a -14.00000 -103.00000 1.00000 
b -90.00000 0.00000 2.30000 
c -90.00000 -110.00000 3.00000 
d -96.00000 -114.00000 5.00000 
e -91.00000 -114.00000 6.00000 
SRT 0.02321 0.05824 0.03969 
SRT2 0.70000 0.80000 0.30000 
3

का उपयोग कर append

df.append(pd.Series(mydict, name='SRT')) 

     Sample1 Sample2 Sample3 
id        
a -14.00000 -103.00000 1.00000 
b -90.00000 0.00000 2.30000 
c -90.00000 -110.00000 3.00000 
d -96.00000 -114.00000 5.00000 
e -91.00000 -114.00000 6.00000 
SRT 0.02321 0.05824 0.03969 

df.append(pd.DataFrame.from_records([mydict, mydict2], ['SRT', 'SRT1'])) 

     Sample1 Sample2 Sample3 
a -14.00000 -103.00000 1.00000 
b -90.00000 0.00000 2.30000 
c -90.00000 -110.00000 3.00000 
d -96.00000 -114.00000 5.00000 
e -91.00000 -114.00000 6.00000 
SRT 0.02321 0.05824 0.03969 
SRT1 0.70000 0.80000 0.30000 
-1
a=df.append(pd.DataFrame(mydict,index=[0])) 
a=a.T 
a=a.rename(columns={0:'SRT'}) 
a=a.T 
संबंधित मुद्दे