Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 排序和使行具有相同的索引_Python 3.x_Pandas - Fatal编程技术网

Python 3.x 排序和使行具有相同的索引

Python 3.x 排序和使行具有相同的索引,python-3.x,pandas,Python 3.x,Pandas,我有两个数据帧,我想知道是否有办法根据第一个数据帧中的id列对第二个数据帧进行排序,然后使重复的数据帧具有相同的索引(第二个数据帧中id列中具有相同值的行) df1 df2 预期产出: index id hobby 0 24 'running' 1 53 'reading' 1 53 'swimming' 让我们做吧 df2.index=df2.id.map(

我有两个数据帧,我想知道是否有办法根据第一个数据帧中的id列对第二个数据帧进行排序,然后使重复的数据帧具有相同的索引(第二个数据帧中id列中具有相同值的行)

df1

df2

预期产出:

index        id        hobby
0            24        'running'
1            53        'reading'
1            53        'swimming'
让我们做吧

df2.index=df2.id.map(dict(zip(df1.id,df1.index)))
df2=df2.sort_index()
df2
    id       hobby
id                
0   24   'running'
1   53   'reading'
1   53  'swimming'

有什么理由不只是使用ID作为索引吗?没有。。也可以使用ID作为索引
index        id        hobby
0            24        'running'
1            53        'reading'
1            53        'swimming'
df2.index=df2.id.map(dict(zip(df1.id,df1.index)))
df2=df2.sort_index()
df2
    id       hobby
id                
0   24   'running'
1   53   'reading'
1   53  'swimming'