从Pandas数据框中的其他列创建新列

问题描述

我有一个数据框

   2019Q4  2020Q4
0      20      10
1      56      15
2      63      14

根据我要创建的数据框

   2019Q4  2020Q4  year2019  year2020
0      20      10        20        10
1      56      15        56        15
2      63      14        63        14

请帮助我如何在python中实现

解决方法

将带有$("form[target=Charts]").on("submit",function(event) { event.preventDefault(); var baseSrc = $(this).attr('action'); var queryArgs = $(this).serialize(); $('iframe[name=Charts]').each(function() { $(this).attr('src',baseSrc + '?' + queryArgs); }); }); 的lambda函数用于前4个值,在DataFrame.add_prefix之前添加前缀,然后在DataFrame.join上添加前缀:

rename

如果可能的话,同一年有多列:

df = df.join(df.rename(columns=lambda x: x[:4]).add_prefix('year'))
print (df)
   2019Q4  2020Q4  year2019  year2020
0      20      10        20        10
1      56      15        56        15
2      63      14        63        14

如果选择一列,则获取所有列,因为重复:

print (df)
   2019Q4  2020Q4  2020Q3
0      20      10       3
1      56      15       5
2      63      14      15


df1 = df.join(df.rename(columns=lambda x: x[:4]).add_prefix('year'))
print (df1)
   2019Q4  2020Q4  2020Q3  year2019  year2020  year2020
0      20      10       3        20        10         3
1      56      15       5        56        15         5
2      63      14      15        63        14        15

可能的解决方案是汇总的,例如由print (df1['year2020']) year2020 year2020 0 10 3 1 15 5 2 14 15

sum
,

如果您不熟悉熊猫,还可以使用以下代码:

df1['year2019']=df1['2019Q4']
df1['year2020']=df1['2020Q4']

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...