【问题标题】:Getting elements from a Pandas DataFrame based on elements from another基于另一个元素从 Pandas DataFrame 中获取元素
【发布时间】:2016-10-07 10:12:11
【问题描述】:

如果我有两个 pandas DataFrame:

y_given_x=

     y|x       probability
0    3  0.11649033348126
1    4  0.02749279374044
2    5  0.02741036003810
3    6  0.34035636232767
4    7  0.16491358255074

y=

     y_value       probability
0        0  0.07185269131381
1        1  0.08588676002891
2        2  0.08098779633814
3        3  0.10091839626284
4        4  0.13794741280748
5        5  0.00755474774703
6        6  0.09515832452838
7        7  0.16606587544047
8        8  0.09969027799237
9        9  0.15393771754059

如何获取y 的所有元素,其中y|x 匹配y_value?所以这种情况下的预期输出是:

output=

         y_value       probability
0        3  0.10091839626284
1        4  0.13794741280748
2        5  0.00755474774703
3        6  0.09515832452838
4        7  0.16606587544047

【问题讨论】:

    标签: python pandas dataframe merge match


    【解决方案1】:

    我觉得你可以用merge:

    print (pd.merge(y,
                    y_given_x,
                    left_on='y_value',
                    right_on='y|x',
                    suffixes=('','_'))[['y_value','probability']])
    
       y_value  probability
    0        3     0.100918
    1        4     0.137947
    2        5     0.007555
    3        6     0.095158
    4        7     0.166066
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-02
      • 1970-01-01
      • 2011-07-10
      • 2017-06-02
      • 2016-07-06
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      相关资源
      最近更新 更多