程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在python中将多列更改为具有三个单独列的行大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在python中将多列更改为具有三个单独列的行?

开发过程中遇到在python中将多列更改为具有三个单独列的行的问题如何解决?下面主要结合日常开发的经验,给出你关于在python中将多列更改为具有三个单独列的行的解决方法建议,希望对你解决在python中将多列更改为具有三个单独列的行有所启发或帮助;

示例源表

城市 2010Q1 交付 2010Q2 交付 2010Q3 交付 2010Q4 交付 2010Q1服务 2010Q2服务 2010Q3服务 2010Q4服务
A 10 15 20 25 20 25 30 35
B 30 30 40 55 20 25 45 55
C 20 25 40 55 25 35 40 65

结果表

城市 期间 交付 服务
A 2010Q1 10 20
A 2010Q2 15 25
A 2010Q3 20 30
A 2010Q4 25 35
B 2010Q1 30 20
B 2010Q2 30 25
B 2010Q3 40 45
B 2010Q4 55 55
C 2010Q1 20 25
C 2010Q2 25 35
C 2010Q3 40 40
C 2010Q4 55 65

我使用了melt函数但无法获得所需的输出。

解决方法

使用wide_to_long

df = (pd.wide_to_long(df,stubnames=['Delivery in ','services in '],i='City',j='Period',suffix='\w+')
        .rename(columns=lambda x: x.split()[0])
        .sort_index()
        .reset_index())
print (df)
   City  Period  Delivery  services
0     A  2010Q1        10        20
1     A  2010Q2        15        25
2     A  2010Q3        20        30
3     A  2010Q4        25        35
4     B  2010Q1        30        20
5     B  2010Q2        30        25
6     B  2010Q3        40        45
7     B  2010Q4        55        55
8     C  2010Q1        20        25
9     C  2010Q2        25        35
10    C  2010Q3        40        40
11    C  2010Q4        55        65

大佬总结

以上是大佬教程为你收集整理的在python中将多列更改为具有三个单独列的行全部内容,希望文章能够帮你解决在python中将多列更改为具有三个单独列的行所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。