编辑df列中的值

  • 本文关键字:df 编辑 python pandas
  • 更新时间 :
  • 英文 :


我试图通过比较列中的值与字典中的值来编辑pandas数据框中的值,然后根据字典中的值更改列中的值。这将应用于单列中的大约10,000个数据点,所以我宁愿不遍历每一行,但列中的每个值都应该根据其初始值进行更改,那么我可以做些什么来促进这一点呢?我的初始代码如下:

ctqparam = []
for index, row in df.iterrows():
val = str(row['Subtest'])
if val in ctqparam_dict.keys():
ctqparam += [ctqparam_dict[val]]
df.insert(4, column='ctqparam', value = ctqparam)
df = df.drop(columns=['Subtest'])

,其中ctqparam_dict是比较列值的字典。我创建了一个值数组,然后将其插入到df中,在此过程中删除初始列。有更好的方法吗?

如果我理解的话,试试这样做…

代码:

import pandas as pd
adict = {'one':'wasONE', 'three':'wasTHREE'}
df = pd.DataFrame({'col1':[1,2,3,4], 'Subtest':['one', 'two', 'three', 'four']})
df = df.replace({'Subtest': adict})

每个的输出将是:

{'one': 'wasONE', 'three': 'wasTHREE'} 
col1 Subtest
0     1     one
1     2     two
2     3   three
3     4    four 
col1   Subtest
0     1    wasONE
1     2       two
2     3  wasTHREE
3     4      four

最新更新