2024-05-19 21:38:53 发布
网友
我可以使用字典使用熊猫替换来替换数据帧中的值:
prod_dict = {1:'Productive',2:'Moderate',3:'None'} df['val'].replace(prod_dict,inplace=True)
如果我想用一个数字替换数据帧中的一组值,我该怎么办。E、 g我想将所有值从1映射到20到1;所有值从21到40到2,以及41到100到3的所有值。我如何在字典中指定这个,并在熊猫替换中使用?
您可以使用apply遍历并在每个元素上应用函数,使用lambda编写一个函数来用字典中的值替换键。在
apply
我将在这里简单介绍一个例子。在
df = pd.DataFrame(range(50), columns=list('B'))
def genValues(i,j): return [x for x in range(j+1) if x >=i]
df['E']= df['B'].apply(lambda x: 1 if x in genValues(0,20) else 2 if x in genValues(21,40) else 3 if x in genValues(41,100) else x) print df
输出:
B E 0 0 1 1 1 1 2 2 1 3 3 1 4 4 1 5 5 1 6 6 1 7 7 1 8 8 1 9 9 1 10 10 1 11 11 1 12 12 1 13 13 1 14 14 1 15 15 1 16 16 1 17 17 1 18 18 1 19 19 1 20 20 1 21 21 2 22 22 2 23 23 2 24 24 2 25 25 2 26 26 2 27 27 2 28 28 2 29 29 2 30 30 2 31 31 2 32 32 2 33 33 2 34 34 2 35 35 2 36 36 2 37 37 2 38 38 2 39 39 2 40 40 2 41 41 3 42 42 3 43 43 3 44 44 3 45 45 3 46 46 3 47 47 3 48 48 3 49 49 3
可以通过替换柱来替换它:
您可以使用
apply
遍历并在每个元素上应用函数,使用lambda编写一个函数来用字典中的值替换键。在我将在这里简单介绍一个例子。在
输出:
可以通过替换柱来替换它:
^{pr2}$相关问题 更多 >
编程相关推荐