在熊猫数据框的两列中找到相等的值

时间:2019-06-22 15:07:48

标签: python pandas

这是我的数据框:

df = pd.DataFrame({'ma':['a', 'b', 'c', 'd'], 'freq1':[1,2,3,4], 'phd':['x', 'y', 'a','b'], 'freq2':[6,7,8,9]})

我想选择dfma具有共同值(即phda)的部分 这是我想要的结果:

b

2 个答案:

答案 0 :(得分:3)

所以我认为您可以进行自我合并:

const routes: Routes = [
    { path: '', component: WinesComponent },
    { path: 'app-wines', component: WinesComponent },
    { path: 'app-about', component: AboutComponent },
    { path: 'app-wine-detail/:id', component: WineDetailComponent },
    { path: 'app-wine-add', component: WineAddComponent }
];

或者,将m=df.merge(df,left_on='ma',right_on='phd') m.loc[:,['ma_x','freq1_x','freq2_y','phd_y']] ma_x freq1_x freq2_y phd_y 0 a 1 8 a 1 b 2 9 b 分成两部分,然后在“ ma”和“ phd”上合并:

df

答案 1 :(得分:0)

只需使用pd.merge()

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/calculate_bmi"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.assignment.asistentdigital.entity.CalculateBMI">

    <EditText
        android:id="@+id/weight"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:ems="6"
        android:inputType="number|numberDecimal"
        android:textSize="14sp"/>

    <EditText
        android:id="@+id/height"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:ems="6"
        android:inputType="number|numberDecimal"
        android:textSize="14sp"/>

    <Button
        android:id="@+id/calc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="25dp"
        android:onClick="calculateBMI"
        android:text="calculeaza"/>

    <TextView
        android:id="@+id/result"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal"
        android:layout_marginTop="25dp"
        android:textSize="20sp"/>

</LinearLayout> 
final_res = pd.merge(df[['ma','freq1']],df[['phd','freq2']],left_on=['ma'],right_on=['phd'],how='inner')