gpt4 book ai didi

python - 如何根据两个不同的 pandas 数据框中的两列查找相同行的索引?

转载 作者:行者123 更新时间:2023-12-01 01:16:24 25 4
gpt4 key购买 nike

我有以下两个 pandas 数据框:

df1 = pd.DataFrame([[21,80,180],[23,95,191],[36,83,176]], columns = ["age", "weight", "height"])
df2 = pd.DataFrame([[22,88,184],[39,84,196],[23,95,190]], columns = ["age", "weight", "height"])

df1:
age weight height
0 21 80 180
1 23 95 191
2 36 83 176

df2:
age weight height
0 22 88 184
1 39 84 196
2 23 95 190

我想比较两个数据帧并获取两个数据帧的索引,其中 ageweight在一个数据帧中等于 ageweight在第二个数据框中。在这种情况下的结果将是:

matching_indices = [1,2]    #[df1 index, df2 index]

我知道如何通过 iterrows() 来实现这一点,但我更喜欢耗时较少的东西,因为我拥有的数据集相对较大。你有什么想法吗?

最佳答案

使用merge使用默认内部联接和 reset_index将索引转换为列以防止丢失此信息:

df = df1.reset_index().merge(df2.reset_index(), on=['age','weight'], suffixes=('_df1','_df2'))
print (df)
index_df1 age weight height_df1 index_df2 height_df2
0 1 23 95 191 2 190

print (df[['index_df1','index_df2']])
index_df1 index_df2
0 1 2

关于python - 如何根据两个不同的 pandas 数据框中的两列查找相同行的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54302564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com