首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否有一个pandas函数来转置数据框,以便为现有列的每个唯一值创建单独的列?

是否有一个pandas函数来转置数据框,以便为现有列的每个唯一值创建单独的列?
EN

Stack Overflow用户
提问于 2019-06-04 05:03:39
回答 1查看 98关注 0票数 1

我想将我的数据帧更改为一种可用于简单分析的格式。目前我的dataframe格式如下:

代码语言:javascript
复制
 Carrier | Service | Weight | Area | Charge
   A     |   GRND  |  1     |  2   | $5.0
   A     |   GRND  |  2     |  2   | $6.0
   A     |   GRND  |  3     |  2   | $7.0
   B     |   GRND  |  1     |  2   | $5.5
   B     |   GRND  |  3     |  2   | $6.9

我想将我的数据转换为以下格式:

代码语言:javascript
复制
  Service | Weight | Area | CarrierA_Charge | CarrierB_Charge
   GRND   |  1     |  2   |      $5.0       |   $5.5
   GRND   |  2     |  2   |      $6.0       |   NA
   GRND   |  3     |  2   |      $7.0       |   $6.9

最终,我的目标是创建一个专栏,为我提供服务,重量,面积的每个独特组合的最低费用如下:

代码语言:javascript
复制
  Service | Weight | Area | CarrierA_Charge | CarrierB_Charge | min_charge |min_charge_carrier
   GRND   |  1     |  2   |      $5.0       |   $5.5          |  $5.0      |   A
   GRND   |  2     |  2   |      $6.0       |   NA            |  $6.0      |   A
   GRND   |  3     |  2   |      $7.0       |   $6.9          |  $6.9      |   B

有没有内置的pandas函数来实现这一点,或者我如何用python编写一个函数来实现这一点?

EN

回答 1

Stack Overflow用户

发布于 2019-06-04 05:24:47

数据透视表方法

代码语言:javascript
复制
# pivot table
pivot = df.pivot_table(columns = 'Carrier', index=['Service', 'Weight', 'Area'], values='Charge',
                       aggfunc = np.min).reset_index()

# rename columns here
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56434504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档