gpt4 book ai didi

python - 将数据帧值合并到新数据帧

转载 作者:行者123 更新时间:2023-11-28 21:35:09 24 4
gpt4 key购买 nike

我正在将 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

经过搜索,我找到了很好的答案 here普西多姆和斯基雷巴蒂。所以我尝试了:

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

关于python - 将数据帧值合并到新数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52594959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com