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

耶斯列尔

rename与lambda函数一起使用,用于前4个值,添加前缀by DataFrame.add_prefix,然后添加至original by DataFrame.join

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 = df.join(df.groupby(lambda x: x[:4], axis=1).sum().add_prefix('year'))
print (df1)
   2019Q4  2020Q4  2020Q3  year2019  year2020
0      20      10       3        20        13
1      56      15       5        56        20
2      63      14      15        63        29

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过添加其他列中的值在Panda数据框中创建新列

通过在特定日期范围之间插入其他列来在数据框中创建新列-Pandas

数据框基于其他列创建新列

如何基于其他列的排列在数据框中创建新列?

使用其他数据框中的匹配值在数据框中创建新列

如何根据其他列的条件在数据框中创建新列?

基于遍历和比较其他数据框中的列来创建新的数据框

如何通过索引其他列的所需部分在pandas数据框中创建新列

根据其他两个数据框列中的值条件创建新列

如何在Pandas数据框中的其他列中填充基于新列的值

使用mutate_at使用数据框中的其他多个列创建新列

如果值出现在其他数据框的列中,则创建新列

根据数据框的其他列创建一个新的pandas数据框列

通过查找其他行中的值来创建新的pandas数据框列

通过引用Python中数据框中的其他列来创建新列

Pyspark-使用数据框中其他两个列的RMSE创建新列

根据其他列中的值在python 3(pandas)数据框中创建新列

根据其他列行中的过滤值,在pandas数据框中创建一个新列

使用rnorm函数从数据框中创建基于新列的其他列

根据pandas数据框中的其他列创建新列

根据R中的其他列创建新的数据框列

在其他所有列的Pandas数据框中创建新的字典列,并结合其标题

在pandas数据框中填充新列,该数据框从其他列获取输入

根据其他 3 列的结果在 R 数据框中创建新列

根据熊猫数据框中其他列的条件和值创建新列

根据现有数据框中的其他列创建一个新列

创建一个基于数据框中其他列的值创建新列的函数

根据其他列中的答案选择在数据框中创建新列

根据 R 中的其他列在数据框中创建新列