Skip to content

Instantly share code, notes, and snippets.

@katronai
Last active March 12, 2020 20:38
Show Gist options
  • Save katronai/40f9bd90237eabd9903d54438a615712 to your computer and use it in GitHub Desktop.
Save katronai/40f9bd90237eabd9903d54438a615712 to your computer and use it in GitHub Desktop.
Pandas operations

Importing Data

  • Dictionary to DataFrame
df = pd.Dataframe(my_dict)
  • Dictionary to DataFrame with row labels
row_labels = ['label0', 'label1']
df.index = row_labels
  • csv to DataFrame
from csv file  
`df = pd.read_csv(file_name)
  • csv to DataFrame with row labels
df = pd.read_csv(file_name, index_col=0)

Indexing and Selecting Data

  • Get column(s) as Series
s = df['col_1']
  • Get column(s) as DataFrame
d1 = df[['col_1']]
d2 = df[['col_1', 'col2']]
  • Access by slicing
d = df[1:4]
  • Access by label: loc
  • Access by position: iloc
  • Access by boolean arrays

Filter, Modify, Impute DataFrame

  • Filtering DataFrame
  • Add new column to DataFrame by using another column:
df[lenght_column_a] = df['column_a'].apply(len)
df[capitalized_column_b] = df['column_b'].apply(str.upper)
  • TODO
pd.to_numeric(df['Column Name'], errors='coerce')
  • Change data type of DataFrame column
df.column_name = df.column_name.astype(int)
  • TODO
df.drop(['columnheading1', 'columnheading2'], axis=1, inplace=True)
  • Impute Missing Values with 0
df.update(df[['a','b','c']].fillna(0))

Configurations

pandas.set_option('display.width', 100)
pandas.set_option('precision', 3)

Statistics

df.shape 
df.dtypes
df.info()
df.describe
df.corr(method='pearson')
df.skew() #Values closer to zero show less skew.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment