我想知道是否有一种最快的方法来更新数据帧,使用行作为索引,但保持原始索引的安全性。在
我的工作方法:
df = DataFrame( { "name": ['SEBASTIEN', 'JOHN', 'JENNY'] , "age": [39, 34, 32], "city": ['denver','chicago','los angeles'] } )
updt = DataFrame( { "firstname": ['JOHN'] , "age": [42] } )
>>> df
age city name
0 39 denver SEBASTIEN
1 34 chicago JOHN
2 32 los angeles JENNY
df['index'] = df.index
df.set_index('name', inplace=True)
updt.set_index('firstname', inplace=True)
df.update(updt)
df['name'] = df.index
df.set_index('index', inplace=True)
>>> df
age city name
index
0 39 denver SEBASTIEN
1 42 chicago JOHN
2 32 los angeles JENNY
非常感谢。在
这完全取决于两个帧的相对大小;在某些情况下,这可能足够快:
如果您已经知道所有的
firstname
都在df
中,则不需要i
索引器。在或者
^{pr2}$这是一个简单的合并和合并。比直接索引快得多。如果需要,还可以指定
left_on
和right_on
,而不是重命名。在相关问题 更多 >
编程相关推荐