首页 > 解决方案 > 将数据框的多列值合并为单列,中间有括号

问题描述

我有一个数据框。

category     value    percentage_difference
Cosmetics    789.99   300.0
Fruits       27.68    400.0
Clothes      179.20   500.0

我想添加第四列,使其值为类别(值,百分比)

category     value    percentage_difference merge_value
Cosmetics    789.99   300.0                 Cosmetic(789.99, 300%)
Fruits       27.68    400.0                 Fruits(27.68, 400%)
Clothes      179.20   500.0                 Clothes(179.20, 500%

使用for循环我可以做到,没有for循环还有其他有效的方法吗?

标签: pythonpandasdataframemerge

解决方案


另一种方法是将列添加为字符串:

df=df.assign(merge_value=
      df.category+"("+df.value.astype(str)+','+df.percentage_difference.astype(str)+"%)")
print(df)

    category   value  percentage_difference             merge_value
0  Cosmetics  789.99                    300  Cosmetics(789.99,300%)
1     Fruits   27.68                    400      Fruits(27.68,400%)
2    Clothes  179.20                    500     Clothes(179.2,500%)

推荐阅读