Tuesday, 15 July 2014

python - Pandas DataFrame Row Matching -



python - Pandas DataFrame Row Matching -

i have 2 info frames , trying find solution 2 of below problems.

i want match "serial_number" df_old df_new , want see if exist in df_old or not. illustration if df_old has serial_number 1,2,3 , df_new has serial number 1,3,4 result should 1 , 3.

good way show data.

import pandas pd df_old = pd.dataframe({'s_no' : [1,2,3,4,5], 'serial_number' : [1234,2345,3456,1456,9867], 'beg_balance' : [10,20,45,21,29], 'end_balance' : [2,6,8,5,3]}) df_new = pd.dataframe({'s_no' : [1,2,3,4], 'serial_number' : [8754,5657,1234,9867], 'beg_balance' : [32,20,10,29], 'end_balance' : [5,6,2,1]}) df_old_1 = df_old.sort('serial_number',ascending=true) df_new_1 = df_new.sort('serial_number',ascending=true) print df_old_1 print df_new_1 = df_old_1['serial_number'] != df_new_1['serial_number'] bn = df_new_1['serial_number'] != df_old_1['serial_number']

it you're looking kind of merge:

in [11]: pd.merge(df_old_1, df_new_1, on='serial_number') out[11]: beg_balance_x end_balance_x s_no_x serial_number beg_balance_y end_balance_y s_no_y 0 10 2 1 1234 10 2 3 1 29 3 5 9867 29 1 4

see more in the docs.

python pandas

No comments:

Post a Comment