python - 如何从数据框中选择多个列,并在其中我需要在同一代码中使用现有列创建两个新列?
问题描述
我有一个由 5 列组成的数据框。我需要提取前 3 列,我需要从最后两列创建两个新列?
A列 B列 C列 D列 E列
df[df[1:3]]
这将给我前三列,但从 D 列和 EI 列只需要提取最后两个字符。如何在相同的代码中提取?
解决方案
IIUC,这应该可以解决问题
df1= df.iloc[:,:3]
df2=df.iloc[:,3:]
a=df2.columns[:]
df2[a +'_extracted'] = df2[a].apply(lambda x: x.str[-2:])
输入
script call_put strike animals codes
a 280 280 rat nill
a 260 260 cat fill
a 275 275 pat dill
b 280 280 mat grill
b 285 285 bat shrill
输出 df1
script call_put strike
0 a 280 280
1 a 260 260
2 a 275 275
3 b 280 280
4 b 285 285
df2
animals codes animals_extracted codes_extracted
0 rat nill at ll
1 cat fill at ll
2 pat dill at ll
3 mat grill at ll
4 bat shrill at ll
推荐阅读
- rest - 如何在 PowerShell 中使用 REST 发送数据
- php - 数组类型之间的区别 - PHP
- javascript - 基于移动视图宽度的移动元素不会恢复到原始桌面视图
- r - 如何在不同级别而不是 id 或时间对 plm 的标准错误进行聚类?
- python - Django post_delete:计算所有具有一个与已删除对象匹配的属性的对象
- aws-sdk-ruby - 将 AWS S3 Select 与适用于 Ruby 的 AWS 开发工具包一起使用时出现编码错误
- pdo - fetchAll() - 真的有必要吗?
- azure - Azure 数据工厂从 foreach 值中获取数据
- kubernetes - 自动将 imagePullSecrets 添加到 ServiceAccount
- csv - 来自 Google Cloud Storage 的 BigQuery 表