Skip to content

Instantly share code, notes, and snippets.

@bitliner
Last active December 2, 2022 08:51
Show Gist options
  • Save bitliner/217f4162ad4160cd7c969ea73fdc591c to your computer and use it in GitHub Desktop.
Save bitliner/217f4162ad4160cd7c969ea73fdc591c to your computer and use it in GitHub Desktop.

pandas

merge two dataframe

Append the columns of df2 to df1

df1.join(df2)

select columns

Selecting columns based on their name

df['hue'] # single column

df[['alcohol','hue']] # multiple columns

Selecting a subset of columns based on difference of columns

df[df.columns.difference([‘alcohol’,’hue’])]

rename column

df.rename(columns = {'old_col1':'new_col1', 'old_col2':'new_col2'}, inplace = True)

add column

tutors = ['William', 'Henry', 'Michael', 'John', 'Messi']
df2 = df.assign(TutorsAssigned=tutors)

OR

df2=df.assign(Discount_Percent=lambda x: x.Fee * x.Discount / 100)

OR

ff['Discounted_Price'] = df.apply(lambda row: row.Cost - (row.Cost * 0.1), axis = 1)

create data frame

data = [10,20,30,40,50,60]
  
# Create the pandas DataFrame with column name is provided explicitly
df = pd.DataFrame(data, columns=['Numbers'])

OR

data = [['tom', 10], ['nick', 15], ['juli', 14]]
  
# Create the pandas DataFrame
df = pd.DataFrame(data, columns=['Name', 'Age'])

OR

data = {'Name': ['Tom', 'nick', 'krish', 'jack'],
        'Age': [20, 21, 19, 18]}
  
df = pd.DataFrame(data)

filter rows

df[df.apply(lambda x: x['b'] > x['c'], axis=1)]

process or transform a column

df['Col4'] = df.apply(lambda row:", ".join([(val if val[0]=='a' else "["+val+"]") for val in row if not pd.isna(val)]), axis=1)

test dataframe equality

from pandas.testing import assert_frame_equal
df1 = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
df2 = pd.DataFrame({'a': [1, 2], 'b': [3.0, 4.0]})
assert_frame_equal(df1, df1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment