python - 将数据框值组合到新的数据框
问题描述
我正在将 Excel 文件中的两个数据框值组合到一个新的数据框,但组合值更改为十进制数。这是我的代码:
我希望合并的数据框:
cable_block pair
1 10
1 11
3 123
3 222
我插入了一个数据框,将这两个与分隔符结合在一起/
,所以这是我的代码:
df['new_col'] = df[['cable_block', 'pair']].apply(lambda x: '/'.join(x.astype(str), axis=1))
我得到的结果是:
cable_block pair new_col
1 10 1.0/10.0
1 11 1.0/11.0
3 123 3.0/123.0
3 222 3.0/222.0
搜索后,我在 这里Psidom 和 Skirrebattie 找到了很好的答案。所以我尝试了:
df['new_col'] = df['new_col'].applymap(str)
和
df['new_col'] = df['new_col'].astype(str)
但它没有按应有的方式工作。查看代码,它应该可以工作,但我发现它不起作用很奇怪。
还有其他解决方法吗?
解决方案
首先,要删除尾随.0
确保数据是int
:
df = df.astype(int)
然后你可以这样做:
df['cable_block'].astype(str) + '/' + df['pair'].astype(str)
0 1/10
1 1/11
2 3/123
3 3/222
dtype: object
确保格式正确的另一个选项可能是:
df.apply(lambda x: "%d/%d" %(x['cable_block'], x['pair']), axis=1)
0 1/10
1 1/11
2 3/123
3 3/222
dtype: object
推荐阅读
- javascript - 来自生成的 JavaScript 元素的未捕获的 TypeError
- oracle-adf - 插入到由主键外键链接的 2 个单独的表中
- python - 如何解析非唯一的位置模式?
- reactjs - 如何在打字稿中为匿名函数编写函数类型定义?
- machine-learning - 使用什么模型来预测客户何时到达?
- python - 根据组合条件过滤 Pandas 中的行
- swift - 从扩展 Equatable 调用视图控制器中的函数
- docusignapi - RadioGroupTabs - 工具提示
- php - 如何检查 Laravel 的 Controllers 文件夹中是否存在 CustomController.php 文件
- graphql - 有没有更优雅的方法而不是编写大量查询?