我有一个这样的数据框架,我想迭代product列,从每个产品(a和B)的日期中获取倒数第二个和倒数第三个值
0. product Date earning
1. A 202001 123
2. A 202002 145
3. A 202003 150
4. A 201401 160
5. A Total 578
5. B 201901 123
6. B 201902 145
7. B 201903 150
8. B 201402 160
9. B Total 578
下面是我正在尝试的示例代码
dates1 = []
dates2 = []
for i in (0,len(test2['product'])):
s = re.findall('\d+',str(test2.loc[test2.index[-2],'Date']))
dates1.append(s)
e = re.findall('\d+',str(test2.loc[test2.index[-3],'Date']))
dates2.append(e)
所需输出:
date1 = [201401,201402]
date2 = [202003,201903]
即每个产品只有两个日期(从倒数第二行和倒数第三行开始)
事实上我不擅长循环,有人能帮我吗
请尝试以下操作:
或者,在没有循环的情况下,使用
pd.DataFrame.groupby
:编辑
或者,正如@yatu所指出的,更好的是,您还可以利用
nth
:使用^{} :
相关问题 更多 >
编程相关推荐