Python 向上移动行并重置数据帧的索引
我有一个包含以下列的数据框架。需要按tr_日期排序,并将第6个索引行移动到第1个索引Python 向上移动行并重置数据帧的索引,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个包含以下列的数据框架。需要按tr_日期排序,并将第6个索引行移动到第1个索引 original datafarame index tr_date val_date des con cr dr bal 0 05-06-2020 05-06-2020 JH876875 NEFT 0 500 500 1 02-07-2020 02-07-2020 45546 MPS 100 0
original datafarame
index tr_date val_date des con cr dr bal
0 05-06-2020 05-06-2020 JH876875 NEFT 0 500 500
1 02-07-2020 02-07-2020 45546 MPS 100 0 400
2 02-07-2020 02-07-2020 45546 IMPS 20 0 380
3 22-07-2020 20-07-2020 AASADD with 200 0 -320
4 28-07-2020 15-07-2020 876876 withdr 0 300 -20
5 03-08-2020 01-08-2020 BCGFD NEFT 200 0 -220
6 02-07-2020 02-09-2020 23 man 500 0 -120
Expected output:
index tr_date val_date des con cr dr bal
0 05-06-2020 05-06-2020 JH876875 NEFT 0 500 500
1 02-07-2020 02-09-2020 23 man 500 0 -120
2 02-07-2020 02-07-2020 45546 MPS 100 0 400
3 02-07-2020 02-07-2020 45546 IMPS 20 0 380
4 22-07-2020 20-07-2020 AASADD with 200 0 -320
5 28-07-2020 15-07-2020 876876 withdr 0 300 -20
6 03-08-2020 01-08-2020 BCGFD NEFT 200 0 -220
此代码用于更改行:
df.iloc[6], df.iloc[1] = df.iloc[1], df.iloc[6]
此代码用于更改行:
df.iloc[6], df.iloc[1] = df.iloc[1], df.iloc[6]
问候Jan这应该可以:
df=df.sort_values(by='tr_date').reset_index()
如果要对其他列进行二次排序,只需按参数添加它们(例如by=['tr_date','des']
)这应该可以:
df=df.sort_values(by='tr_date').reset_index()
如果您想对其他列进行二次排序,只需按参数添加它们(例如
by=['tr_date','des']
)它遵循什么规则?是按tr_日期(升序)排序,然后按val_日期(降序)排序吗?@vincent仅按tr_日期排序(升序)。是的,但将第6行移动到第1行?为什么?根据您构建数据帧的方式,您希望放在第一位的特定行并不总是放在第六位。这就是为什么我建议用一个规则来处理这个问题,比如“我想要在第一个位置的行是具有XXX条件的行”。我想要在第一个位置的行是具有cr的行=0在这种情况下,我建议不要遵循下面的答案,而是寻找“如何根据列值将一行放在第一个位置”或类似的内容它遵循什么规则?是按tr_日期(升序)排序,然后按val_日期(降序)排序吗?@vincent仅按tr_日期排序(升序)。是的,但将第6行移动到第1行?为什么?根据您构建数据帧的方式,您希望放在第一位的特定行并不总是放在第六位。这就是为什么我建议用一个规则来处理这个问题,比如“我想要在第一个位置的行是具有XXX条件的行”。我想要在第一个位置的行是具有cr的行=0在这种情况下,我建议不要遵循下面的答案,而是寻找“如何基于列值将行置于第一位置”或类似的内容