我有这个数据框
Person Salary
John 350
Peter 543
Susan 517
Carl 448
我有另一个数据框,我必须对第一个数据框进行更改
Attribute Change
Person 3
Salary 2
"Change"的值应该是指改变另一个字母出现的数量,例如"x"。结果应该是这样的:
Person Salary
Jxxx 3xx
Pexxx 5xx
Suxxx 5xx
Cxxx 4xx
我该怎么做?
最佳答案
数据:
import pandas as pd
df = pd.DataFrame({'Person':['John', 'Peter', 'Susan','Carl'],
'Salary':[350,543,517,448]})
change_df = pd.DataFrame({'Attribute':['Person', 'Salary'],
'Change':['3','2']})
解决方法:
for col in df.columns:
k = int(change_df[change_df.Attribute == col].Change)
df[col] = df[col].apply(lambda x: str(x)[:len(str(x))-k]+k*'x')
结果:
Person Salary
0 Jxxx 3xx
1 Pexxx 5xx
2 Suxxx 5xx
3 Cxxx 4xx
关于python - 根据 Pandas 中的其他信息更改数据框中的一小部分列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55112094/