我有以下数据:
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.023210000000000001,
"Sample3": 0.039690000000000003,
"Sample2": 0.05824
}
mydict2 = {
"Sample1": 0.7,
"Sample3": 0.3,
"Sample2": 0.8
}作为索引(行)名称的最后一列,SRT和SRT2。
屈服:
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我怎样才能做到这一点?
发布于 2017-01-06 08:04:57
您可以使用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发布于 2017-01-06 08:09:32
使用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.03969df.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发布于 2017-01-06 08:10:24
a=df.append(pd.DataFrame(mydict,index=[0]))
a=a.T
a=a.rename(columns={0:'SRT'})
a=a.Thttps://stackoverflow.com/questions/41501447
复制相似问题