python - Numpy添加外部,字符串更改?
问题描述
我有一个数据框 df1=
HPE FRE UNE
0 S0 S0 S0
1 S1 S1 S1
使用下面的代码(“reduce”是一个functool函数,sta是一个包含df1列的列表):
reduce(lambda x,y:np.add.outer(x,y),sta).reshape(-1)
我将我的数据框减少为 numpy 数组,如下所示:
['S0S0S0' 'S0S0S1' 'S0S1S0' 'S0S1S1' 'S1S0S0' 'S1S0S1' 'S1S1S0' 'S1S1S1']
但我希望我的输出如下所示:
['S0|S0|S0' 'S0|S0|S1' 'S0|S1|S0' 'S0|S1|S1' 'S1|S0|S0' 'S1|S0|S1' 'S1|S1|S0' 'S1|S1|S1']
我能怎么做?
解决方案
我会这样做:
pd.Series(map('|'.join, itertools.product(*sta)))
假设一个较少退化的输入df1
以使示例更清晰:
HPE FRE UNE
0 AB CD EF
1 GH IJ KL
,sta = [df1.HPE, df1.FRE, df1.UNE]
结果是:
0 AB|CD|EF
1 AB|CD|KL
2 AB|IJ|EF
3 AB|IJ|KL
4 GH|CD|EF
5 GH|CD|KL
6 GH|IJ|EF
7 GH|IJ|KL
推荐阅读
- java - 获取与 aa Treepath 关联的 DefaultMutableTreeNode(确切的不是临时的)
- javascript - 如何通过循环函数将 N 个数组的所有数组变量推送到一个数组中?
- java - 具有可变参数参数的多个构造函数
- c# - 如何在 Azure Cosmos DB(BotFramework)中存储 UserState 和 ConversationState?
- rust - 是否可以将 char 值分配给枚举变体?
- android - 构建时出现 Android 数据绑定错误
- batch-file - version=%version: =% - 有充分的理由使用它吗?
- postgresql - 使用 Ansible 管理 PostgreSQL 权限
- mysql - 配置 MySQL 主/从复制
- git - 拉取特定提交并将其添加到分支以更新 PR