我有两个dataframe
看起来像这样
df1
fileName Text
0 file1 A
1 file2 B
2 file3 C
3 file4 D
4 file5 E
df2
fileName Value
0 file3 0
1 file2 1
2 file1 1
3 file5 0
4 file6 1
df1.fileName
的内容与df2.fileName
的内容相同,但是顺序在df2
中混乱。我想按df1.fileName
的顺序提取value列。
答案 0 :(得分:1)
如果df2['fileName']
中有重复项,则创建ordered categorical
列,排序并选择Value
:
print (df2)
fileName Value
0 file3 0
1 file2 1
2 file1 1
3 file5 0
4 file4 1
5 file1 1
6 file3 1
df2['fileName'] = pd.Categorical(df2['fileName'], categories=df1['fileName'], ordered=True)
out = df2.sort_values('fileName')['Value']
print (out)
2 1
5 1
1 1
0 0
6 1
4 1
3 0
Name: Value, dtype: int64