加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在python中使用panda合并行数据

发布时间:2020-12-20 11:04:58 所属栏目:Python 来源:网络整理
导读:我正在尝试编写一个小 python应用程序,它创建一个包含配方系统数据的csv文件, 想象一下excel数据的以下结构 Manufacturer Product Data 1 Data 2 Data 3Test 1 Product 1 1 2 3Test 1 Product 2 4 5 6Test 2 Product 1 1 2 3Test 3 Product 1 1 2 3Test 3 Pr
我正在尝试编写一个小 python应用程序,它创建一个包含配方系统数据的csv文件,

想象一下excel数据的以下结构

Manufacturer    Product Data 1  Data 2  Data 3
Test 1  Product 1   1   2   3
Test 1  Product 2   4   5   6
Test 2  Product 1   1   2   3
Test 3  Product 1   1   2   3
Test 3  Product 1   4   5   6
Test 3  Product 1   7   8   9

合并时我会像以下格式显示的数据一样,

Test 1  Product 1   1   2   3   0   0   0   0   0   0
Test 2  Product 2   4   5   6   0   0   0   0   0   0
Test 2  Product 1   1   2   3   0   0   0   0   0   0
Test 3  Product 1   1   2   3   4   5   6   7   8   9

任何帮助都会得到很好的回复,到目前为止我可以阅读熊猫数据集并转换为CSV

问候
背风处

解决方法

使用melt,groupby,pd.Series和unstack:

(df.melt(['Manufacturer','Product'])
  .groupby(['Manufacturer','Product'])['value']
  .apply(lambda x: pd.Series(x.tolist()))
  .unstack(fill_value=0)
  .reset_index())

输出:

Manufacturer    Product  0  1  2  3  4  5  6  7  8
0       Test 1  Product 1  1  2  3  0  0  0  0  0  0
1       Test 1  Product 2  4  5  6  0  0  0  0  0  0
2       Test 2  Product 1  1  2  3  0  0  0  0  0  0
3       Test 3  Product 1  1  4  7  2  5  8  3  6  9

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读