罗格·霍夫斯特(Rutger Hofste):
我有一个Pandas数据框,想将字典中的数据均匀地添加到数据框的所有行中。 目前,我遍历字典并将值设置为新列。 有没有更有效的方法可以做到这一点?
笔记本
# coding: utf-8
import pandas as pd
df = pd.DataFrame({'age' : [1, 2, 3],'name' : ['Foo', 'Bar', 'Barbie']})
d = {"blah":42,"blah-blah":"bar"}
for k,v in d.items():
df[k] = v
df
耶斯雷尔:
使用 assign
,如果所有按键都没有数值:
df = df.assign(**d)
print (df)
age name blah blah-blah
0 1 Foo 42 bar
1 2 Bar 42 bar
2 3 Barbie 42 bar
如果可能的话,数字效果 join
很好:
d = {8:42,"blah-blah":"bar"}
df = df.join(pd.DataFrame(d, index=df.index))
print (df)
age name 8 blah-blah
0 1 Foo 42 bar
1 2 Bar 42 bar
2 3 Barbie 42 bar
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
编辑于 2020-06-5
我来说两句