python - 使用 Python 从分类列中提取特定值
问题描述
以下是包含银行客户交易数据的示例表。txn_description
我需要创建一个单独的列作为从列中获取数据的客户的年薪。
Customer_ID txn_description Amount Type
01 POS 345 Dr
02 SALARY 2000 Cr
03 INTER BANK 148 Dr
04 SALARY 1500 Cr
05 NEFT 289 Dr
06 SALARY 1800 Cr
01 NEFT 40 Dr
02 SALARY 2000 Cr
04 POS 69 Dr
04 SALARY 1500 Cr
06 SALARY 1800 Cr
注:交易数据为三个月。因此,工资在此表中三次记入特定客户的帐户,为期三个月。
(Dr = 借方交易,Cr = 贷方交易)
解决方案
你可以试试这个
df= df[df["txn_description"]=="SALARY"]
df["Annual"] = df["Amount"]*12
输出/输出:
Customer_ID txn_description Amount Annual
1 2 SALARY 2000 24000
3 4 SALARY 1500 18000
5 6 SALARY 1800 21600
此外,如果您想在原始框架上应用它,请找到这个,
dic = df.set_index("Customer_ID")["Annual"].to_dict()
并将其应用于实际的 dtaframe 使用df.map(dic)
解释:
- 首先删除不需要的记录,只获取“cr”或 Salary 记录。
- 现在Dataframe有每个客户一个月数据的工资贷记记录。即,客户 ID 和金额是一对一的映射。
- 将金额乘以 12 以获得年度价值。
- 将客户转换为 dic 中的年度价值并替换为实际框架。
推荐阅读
- android - 如何让与主循环器同步的处理程序等待更多数据
- ios - 由于缺少应用程序文件,jfxmobile 应用程序无法在 iphone 模拟器上安装
- mysql - 使用 codeigniter 从 db 获取数据并在视图中显示特定的数组索引
- python - How to train your own model in AWS Sagemaker?
- office365 - How to retrieve group content if you are not a member (you are Global Administrator)?
- angularjs - Replacements for isNullOrUndefined and isNumber utils methods after AngularJS v0.11.3 onwards
- python - Represent this Image django Model
- java - javax.persistence.PersistenceException:没有名为 aramis 的 EntityManager 的持久性提供程序
- sqlite - Linq2db for SQLite - Xamarin form
- kotlin - 如何使用 kotlin 协程并行运行两个作业但等待另一个作业完成