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

时间:2020-09-09 11:23:21

标签: python python-3.x pandas dataframe

我有一个数据框

   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中实现

2 个答案:

答案 0 :(得分:3)

将带有$("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

答案 1 :(得分:0)

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

df1['year2019']=df1['2019Q4']
df1['year2020']=df1['2020Q4']
相关问题