加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python-根据Pandas中的其他信息更改数据框中列的一部分

发布时间:2020-05-24 22:27:19 所属栏目:Python 来源:互联网
导读:我有这个DataFramePerson Salary John 350 Peter 543 Susan 517 Carl 448 我有另一个数据框,其中包含我必须对第一个数据框进行的更改 Attribute Change Person 3 Salary

我有这个DataFrame

Person      Salary 
John         350
Peter        543
Susan        517
Carl         448

我有另一个数据框,其中包含我必须对第一个数据框进行的更改

 Attribute    Change
  Person         3
  Salary         2

“更改”的值应表示更改另一个字母(例如“ 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

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读