我正在尝试通过存储在字典中的一些其他元素替换特定列中dataFrame中的所有元素。 我的数据帧是这样构建的:
dict_main = {'Elektro':[1,2,3],
'Nucleo':[88,22,23]}
df = pd.DataFrame(dict_test)
我想从字典里得到元素基本上是
dict_elements = {'1': 'ABC',
'2': 'CDE',
'3': 'EFG'}
我尝试的是使用两个for循环来替换“Elektro”列中与dict\元素的键匹配的元素。代码如下所示:
for index in df.index:
for key in dict_elements.key():
if df.loc[index]['Elektro'] == key:
df.loc[index]['Elektro'] = dict_elements[key]
但是你可以想象,如果你在数据帧和字典中有几千个元素,这将花费很多时间。。。如何提高性能。还是有更好更快的方法来替代我的方法
您可以使用内置函数来完成此任务
以及要从中获取元素的字典:
我将dict\u元素编辑为int而不是str作为键,这可以成为一行内置函数
需要注意的一点是,与字典中的键不匹配的值将保持原始数据帧中的状态。您可以使用map函数使它们显示为NAs,如果您希望这样做的话。希望这有帮助
相关问题 更多 >
编程相关推荐