qingtongly 发表于 2021-3-5 03:28:43

问题求助 简单的pandas数据处理

请问大佬们 如果我想让一个数据表里的每个公司每一年的每个月的数据等与该公司每一年的最后一个月(12月)的数据,这个代码该怎们写啊 可以使用groupby吗?
比如
firm   date            BE
A      2020-10      1.1
A      2020-11      1.2
A      2020-12      1.3
B      1998-1      5.2
B      1998-2      5.3
...
B      1998-12       5.6

对每一家公司,令其每一年每个月的BE都等于这一年最后一个月(12月)的BE
万分感谢!!

逃兵 发表于 2021-3-5 12:42:02

import pandas

data = {'firm':['A']*3+['B']*3,
       'date':['2020-10','2020-11','2020-12','1998-1','1998-2','1998-12'],
       'BE':}

df = pandas.DataFrame(data)
df_list=[]
for i in list(set(list(df['firm']))):
    df2 = df==i]
    BE = df2==))) if '-12' in i]]['BE'].values
    BE_list = *len(df2)
    df2.loc[:,('BE')] = BE_list
    df_list.append(df2)

res = pandas.concat(df_list)
res.sort_index(inplace=True)

print(res)
页: [1]
查看完整版本: 问题求助 简单的pandas数据处理